The Athletics made two errors and threw a pair of wild pitches to help Baltimore break loose. DJ Stewart added a two-run homer in the sixth for the Orioles.
"It was an ugly inning," Athletics manager Bob Melvin said. "It's not typical of how we play. Over the last few years, we've been a really good defensive team. We did not show it that inning."
Harvey (3-1) allowed two runs and four hits in 5 2/3 innings, walking three with one strikeout. It marked the first time since 2018 with Cincinnati that the former All-Star ace had won three starts in a row.
"That was a veteran performance, another gutsy pitching performance by him," Orioles manager Brandon Hyde said. "He's just so competitive and I love the way our guys feed off of that."
Added Harvey: "I was able to miss barrels for the most part and the guys behind me made plays. It's nice knowing that I can have those days that are not great, don't feel great, not throwing my best stuff, and be able to battle through it and be able to go 5 2/3 and keep runs off the board."
Oakland starter Jesús Luzardo (1-3) lasted just three innings, giving up six runs, although only three were earned. He gave up five hits and two walks and threw two wild pitches.
Mark Canha and Ramón Laureano homered for the A's. Seth Brown and Tony Kemp also drove in runs for Oakland, which has lost five of seven. Baltimore has won three in a row.
Austin Hays drove in the game's first two runs with a single in the third inning, and a throwing error by third baseman Matt Chapman on the play let another run score.
Trey Mancini and Ryan Mountcastle added RBI in the inning, which began with Stewart reaching on Brown's error at first.
Canha's seventh-inning homer cut Baltimore's lead to 8-3. Laureano connected in the ninth.
The Orioles improved to 9-4 on the road this season, tied for the third-best mark in MLB. Conversely, Baltimore owns the worst home record in baseball at 4-10.
Orioles: SS Freddy Galvis returned to the lineup after missing the last four games with a left adductor injury. He recorded a single in three at-bats before exiting in the sixth inning. ... 3B Maikel Franco also returned after missing Friday's game with a sore lower back, finishing with a single and walk in four times up.
Athletics: 1B Matt Olson missed his third straight game after being hit in the left eye by a ball that ricocheted off the L-screen during batting practice Thursday. Olson took some groundballs and swings in the batting cage before Saturday's game but is unlikely to return for Sunday's series finale. "I doubt it," Melvin said. "I doubt tomorrow." ... LHP A.J. Puk (left biceps strain) threw a bullpen session Saturday and the team will see how he responds to determine the next step. ... RHP Burch Smith (groin strain) will throw a two-up simulated game Sunday at the team's alternate training site in Stockton.
A's LHP Sean Manaea (3-1, 2.83 ERA) will face the Orioles in Sunday's series finale. After losing his first start of the season, Manaea has gone 3-0 with a 1.50 ERA in his last four outings. LHP Bruce Zimmermann (1-3, 5.33 ERA) gets the start for Baltimore. Zimmermann has taken the loss in each of his last three starts.
Stewart pads Orioles' lead with a two-run homer
DJ Stewart hits a two-run shot to right field to increase Baltimore's lead over Oakland.