ANAHEIM, Calif. -- The Kansas City Royals finally found their footing at Angel Stadium, staging a late-inning rally to defeat the Los Angeles Angels 7-6 on Friday and put an end to a four-game losing streak. The victory was powered by a pair of standout performances from Jac Caglianone and Michael Massey, who each collected three hits and drove in key runs.

Caglianone, the rookie first baseman, continued his torrid stretch at the plate. He launched a two-run homer in the fifth inning off left-hander Sammy Peralta -- his 22nd of the season -- to give Kansas City a 5-4 lead. That blast came after the Angels had jumped ahead early. But Caglianone wasn't done. In the ninth inning, he reached second base on an error and later scored on Massey's two-out RBI single, providing the final margin of victory. His night included a single, a double, and that home run, raising his season totals to a .438 batting average (21-for-48) with five homers and 18 RBIs during a 12-game hitting streak.

Massey proved equally crucial. He homered earlier in the game and finished with three hits, including the decisive single in the ninth. His ability to deliver with two outs gave the Royals a much-needed cushion after a tense back-and-forth contest.

The Angels, who had won three straight, looked poised to extend their streak. Nolan Schanuel had two hits and drove in four runs, consistently putting pressure on Royals starter Seth Lugo. Lugo labored through 4 2/3 innings, allowing five runs on seven hits while striking out three. The Angels took a 6-5 lead in the sixth inning when Josh Lowe greeted reliever Alex Lange with a solo home run to left field. Lange (2-7) was charged with the blown save.

Kansas City responded immediately. In the top of the seventh, they scratched across two runs off Angels reliever Tayler Saucedo (0-1), who could not protect the lead. The comeback was aided by aggressive baserunning and a couple of defensive miscues from the Angels.

Once the Royals regained the lead, their bullpen locked it down. John Schreiber, Nate Pearson, and Steven Cruz each threw a scoreless inning, with Cruz finishing the game for his fourth save of the season. The trio allowed just two hits combined while striking out three, stifling an Angels lineup that had been productive earlier in the night.

For the Angels, the loss was a missed opportunity to build on a winning streak. Schanuel's four RBIs highlighted his growing importance in the middle of the order, but the team's inability to hold the lead in the late innings proved costly. The Angels' bullpen, which had been solid in recent games, faltered at a critical moment.

Looking ahead, the two teams will meet again on Saturday night. The Royals are scheduled to start right-hander Randy Dobnak (2-1, 2.00 ERA), while the Angels will counter with left-hander Reid Detmers (3-8, 4.00 ERA). Both pitchers will look to give their clubs a series win.

Kansas City's victory was a welcome relief after a rough stretch, and the performances of Caglianone and Massey give the offense a spark that could carry them forward. The Angels, meanwhile, will need to regroup quickly to avoid a second straight loss.