Tommy Gilligan-USA TODAY Sports

Dean Kremer supplied a stellar pitching performance for the Baltimore Orioles in their 6-0 victory over the visiting Houston Astros on Friday night.

Kremer threw a four-hit complete game with six strikeouts and two walks. He has pitched for three seasons and had never thrown more than eight innings in a start until Friday.

It was the third sterling effort from the mound in as many nights for the Orioles, who received a complete game from Jordan Lyles vs. Detroit Wednesday and then 8 2/3 shutout innings from Kyle Bradish Thursday in the Astros' series opener.

Adley Rutschman homered and drilled a run-scoring double as part of a 3-for-3 outing and Cedric Mullins drove in two runs for the Orioles (79-71), who've won three consecutive games.

Houston (99-53) lost for the third time in 13 games. The Astros haven't scored in consecutive games since sweeping the Tampa Bay Rays.

Astros starter Jose Urquidy (13-8) gave up one run in 5 1/3 innings with six strikeouts and a walk.

Kremer was in a tight game until Baltimore put up five runs in the seventh inning to stretch what had been a 1-0 lead.

Rutschman, a rookie catcher who singled in the first, notched his 12th homer of the season to lead off the bottom of the fourth. He had Baltimore's only two hits through five innings.

The Orioles began the seventh with three consecutive singles, with Terrin Vavra's hit knocking in a run. After a sacrifice bunt and error, Mullins produced a two-run single before Rutschman's two-out RBI double followed by Ryan Mountcastle's run-producing single.

The Astros had second baseman Jose Altuve back in the lineup after he missed Thursday night's game with a sore left elbow. He was hit by a pitch Wednesday night at Tampa Bay. He went 2-for-4 with a double and a ninth-inning single.

Houston's Yordan Alvarez, who had a single, drew both of the team's walks.

More must-reads:

TODAY'S BEST
Pacers ride historic shooting performance to Game 7 blowout of Knicks
Timberwolves mount incredible second-half comeback to stun Nuggets in Game 7
Xander Schauffele proves doubters wrong with historic win at 2024 PGA Championship
Four things we learned from Joey Logano's All-Star Race win at North Wilkesboro
Phil Foden lifts Manchester City to fourth consecutive English Premier League title
Watch: Aaron Judge blasts 13th home run in Yankees' seventh straight win
Canucks won't have linchpin forward for Game 7 vs. Oilers
Jags reportedly mulling extension for Trevor Lawrence, but is that the right choice?
Gordon Hayward calls role with Thunder 'frustrating'
Mets reliever Edwin Diaz showing short shelf life of closers
Three offseason moves the 49ers must make
Watch: NASCAR drivers exchange punches after crash in All-Star Race
Knicks star offers passionate defense of HC Tom Thibodeau after Game 7 loss
Knicks' Jalen Brunson suffers serious injury in Game 7 vs. Pacers
Dodgers add recently acquired left-hander to active roster
Report: 2023 No. 7 pick expected to terminate KHL contract, join Flyers
Mavericks advance to Western Conference Finals aided by controversial call late
Connor McDavid, Oilers hammer Canucks to force Game 7
Tyson Fury-Oleksandr Usyk epic increases excitement for potential rematch
Seize the Grey wins in muddy Preakness