Schoop lined a tiebreaking RBI single to center in the eighth inning after Joe Smith's balk tied the game an inning earlier as the Baltimore Orioles rallied for a 3-2 victory over the Angels.
The victory gave the Orioles (50-36) a two-game lead over Toronto (50-40) and Boston (48-38) in the American League East. Toronto had won seven straight games before Detroit scored a 3-2 victory over the Blue Jays on Saturday.
In addition, the win means that the Orioles will go into the All-Star break in first place.
"We have to be ready tomorrow," Orioles manager Buck Showalter said. "I'd like to get a win before a well-deserved break for these guys."
Manny Machado and Chris Davis both singled to put runners on first and third with one out in the eighth. Schoop then lined a single to center off Smith (1-4) to snap a 2-2 tie.
"I wasn't trying to do too much," Schoop said. "I said, 'Let me find a pitch I can hit off somewhere and hopefully find a hole.'"
Los Angeles took a 2-1 lead on a Daniel Nava two-run single in the sixth off starter Yovani Gallardo before Smith committed a balk -- dropping the ball while starting his wind-up -- that let Schoop score the tying run from third in the seventh.
Smith did not make any excuses afterward about what happened.
"I just messed up," Smith said. "That's the most embarrassing moment I've ever had on a baseball field. That was 100 percent my fault."
That opened the door for the Orioles to rally and win it in the eighth.
Brad Brach (6-1) posted the victory thanks to a scoreless eighth. Zach Britton then earned his 26th save in 26 chances.
Gallardo did not allow a hit until the fourth, but six of the final 11 Angels got hits, and they scored the two runs the right-hander allowed.
Nick Tropeano allowed one run and five hits in six innings. The Los Angeles starter recorded eight strikeouts without a walk. The loss ended the Angels' four-game winning streak.
Mark Trumbo gave the Orioles a 1-0 lead in the second with his leadoff homer to center, his 27th home run this season.
That homer set a team record for most homers before the All-Star break. Baltimore now has banged out 135 of them, erasing the previous mark set by the Orioles 20 years ago.
The Angels could not do much early against Gallardo. Two walks gave Los Angeles runners on first and second with one out in the second before the right-hander retired the next two batters.
But the Angels rallied in the sixth, taking the lead on Nava's two-run single off the wall in right. The Angels could have added to the 2-1 lead, but Mychal Givens got Johnny Giavotella on a fly ball to short right, and Jett Bandy then grounded into an inning-ending double play with the bases loaded.
"We had some opportunities to break the game open," Angels manager Mike Scioscia said. "They made some pitches. So obviously, there's going to be a spotlight on the balk in the seventh inning, but there's a lot of things that led up to that."
NOTES: The Orioles recalled RHP Jason Garcia from Double-A Bowie on Saturday. They sent down RHP Mike Wright to Triple-A Norfolk after Friday's loss and needed a right-handed arm. Garcia spent last year with Baltimore as a Rule 5 pick and went 1-0 in 21 games. He is 4-7 with a 4.79 ERA in 15 starts at Bowie in 2016. ... Baltimore has a major league-best 32 wins at home. ... The Angels activated C Geovany Soto after optioning C Carlos Perez to Triple-A Salt Lake City. Soto was not in the starting lineup, but 1B Ji-Man Choi was in the starting lineup after the Angels purchased his contract from Salt Lake City. He will replace C.J. Chon (broken hand), injured in Friday's game when Wright hit him. Choi finished 0-for-2 with two walks.