Updated

Robinson Cano and Curtis Granderson both clubbed two-run homers to lead the New York Yankees to a 5-3 win over the visiting Los Angeles Angels of Anaheim.

Cano added an RBI single for the Yankees, who have won six of their last seven games. New York starter Freddy Garcia (4-2) gave up three runs on five hits and five walks in five innings.

Rafael Soriano earned his 22nd save of the season with a 1-2-3 ninth.

Jerome Williams (6-6) returned to the Halos' rotation after being activated from the 15-day disabled list. Recovered from respiratory issues, Williams made his first start in a month and allowed five runs on seven hits over six frames to absorb his fourth consecutive loss.

Los Angeles will look to avoid being swept on Sunday.

The Angels loaded the bases in the first and grabbed an early lead on Alberto Callaspo's two-out, two-run single to right field. But the Yankees responded in the home half of the inning, tying the game on Cano's home run, a two-out drive to left that extended his hitting streak to 17 games.

Cano has 11 homers in his last 20 home games.

"This place is fun, especially when it's hot," Cano said.

New York then pulled ahead in the third as Chris Stewart hit a leadoff single and scored on Granderson's blast to right.

The Angels got a run back in the fourth, trimming their deficit to 4-3 on an RBI groundout by Bobby Wilson. The Yankees, though, regained a two-run lead when Alex Rodriguez doubled to begin the sixth and scored on a base hit by Cano.

Angels outfielder Mike Trout had three of Los Angeles' seven hits.

"Timely hitting, it hasn't been there for us the last couple of days," Trout said. "We just have to come out tomorrow and swing the bats."

Game Notes

The Yankees have won 14 of their last 19 home games against the Angels...Garcia improved to 16-3 in 28 career starts versus the Angels...Trout has scored at least one run in six straight games. He has stolen 21 consecutive bases without being caught and now has 30 steals this season, becoming one of six rookies in Angels history with at least 30 stolen bases in a season and the first since Chad Curtis in 1992...The Angels have lost four in a row on the road.