Yankee Stadium welcomed the Yankees home Friday night in a big way. Not just the fans. The ballpark, too.

But the Angels almost spoiled everything.

Stephen Drew hit two homers and Mark Teixeira hit one -- all wall-scrapers to the short porch in right -- as the Yankees brought a seven-run lead into the ninth. But the Angels scored six runs in the ninth before Dellin Betances sandwiched two strikeouts around an RBI groundout, giving the Yankees an 8-7 win before 40,310.

The first eight Angels batters reached base in the ninth, five against Esmil Rogers and three against Betances. RBI singles by Grant Green and Kole Calhoun, a two-run single by David Freese and a bases-loaded walk to Chris Iannetta made it 8-6.

With none out and the bases still loaded, Betances struck out Kirk Nieuwenhuis. Johnny Giavotella drove in a run with a forceout on which Didi Gregorius made a good play before Betances struck out pinch hitter Carlos Perez to end it.

All eight Yankees runs were scored with two out. Alex Rodriguez had four hits and passed Barry Bonds for second on the all-time RBIs list as the Yankees earned their fourth straight win. But this was anything but easy.

Drew's two-run home run off Jered Weaver in the second inning was caught by a fan in the third row. Teixeira's 17th home run, a towering shot to the same area in the next inning, bounced off the hands of a fan in the second row. Those two blasts over the leaping tries of rightfielder Calhoun gave Nathan Eovaldi a 4-0 lead.

Rodriguez made it 5-0 in the fifth when his two-out single to right-center drove in Brett Gardner, who had tripled.

Rodriguez passed Bonds with his 1,997th RBI. A-Rod, who has two years left on his Yankees contract, is 300 behind Hank Aaron, who has 2,297. He pulled to within nine hits of 3,000.

Drew lined his second two-out homer of the game, again to the short porch in right, to finish Weaver's night in the sixth. This one made it to the second row, but it was hit so hard that Calhoun didn't have time to leap.

The much-maligned Drew (2-for-4, three RBIs) is batting .173 with seven home runs and 19 RBIs. He has shown signs of life of late, lining a tying double to rightfield with two outs and two strikes in the ninth inning Tuesday night in Seattle in a game the Yankees won in 11.

Eovaldi (5-1) cruised through the first five innings, allowing no runs, four hits and a walk. But he completely lost the plate in the sixth and exited after just 51/3 innings and 93 pitches (53 strikes).

Eovaldi walked three of the first four batters in the sixth to load the bases with one out. After falling behind 2-and-0 to the second batter of the inning, Freese, Eovaldi received a visit from pitching coach Larry Rothschild. The next two pitches were balls, too. Two batters later, after the third walk of the inning, Joe Girardi called in Chasen Shreve, one of his five bullpen lefthanders. The Angels scored to make it 5-1 on Nieuwenhuis' RBI grounder. Shreve walked Giavotella to re-load the bases before striking out Erick Aybar.

Brian McCann, cleared to play hours before the game after testing out his sore right foot with some new orthotics, doubled to lead off the bottom of the sixth. After Gregorius' sacrifice fly made it 6-1, Drew hit his second home run. A-Rod doubled with one out in the seventh and Chris Young's single made it 8-1.