CLEVELAND (AP) - Nick Swisher was having a bad day. One swing changed it.
It began Thursday morning when he got stuck in traffic on his way to Progressive Field for the Indians' 12:05 p.m. game against the Los Angeles Angels, turning a short trip into a 45-minute drive.
Things didn't get any better once the game started as he was hitless with three strikeouts in his first four times up.
Swisher's afternoon took a dramatic turn when his two-out grand slam off Ernesto Frieri in the 10th inning gave Cleveland a 5-3 win.
"One at-bat can turn a whole day around," he said.
Several players and coaches ran into the late-morning traffic jam, which was the talk of the clubhouse before the game.
"I almost called in saying I would be late," Swisher said. "I was freaking out."
Swisher belted a 1-2 pitch into the right-field seats to cap an improbable comeback after Albert Pujols' two-run single put the Angels ahead in the top of the inning.
Swisher threw his arms in the air when the ball cleared the wall and was mobbed by his teammates when he reached home plate.
"When I first hit it, I said, all right, that's a double," he said. "The next thing you know, it went out. I flipped my bat. I was going crazy."
Pujols' single with two outs gave the Angels a 3-1 lead, but the Indians responded off rookie Cam Bedrosian (0-1).
Michael Bourn drew a leadoff walk and took third on Jason Kipnis' one-out double. Carlos Santana walked to load the bases and Frieri replaced Bedrosian.
David Murphy flied out before Swisher, who heard boos from the crowd earlier in the game, delivered.
"That's what happens being a baseball player," he said. "You've got to go out there, fighting, grinding, scrapping and know good things are going to happen."
Swisher's blast was the ninth walk-off grand slam in the history of Progressive Field, which opened in 1994. It was also the Indians' sixth walk-off win this season.
"I've never hit a walk-off grand slam," Swisher said. "I'm giddy. I love being in those spots because it can only go two ways - either you're the goat or you're the hero."
Frieri, who allowed four runs without retiring a batter in the ninth inning Saturday against Atlanta, blew his third save chance in 14 opportunities.
BlUE JAYS 4
NEW YORK (AP) - David Phelps pitched seven strong innings, Carlos Beltran drove in two runs and the New York Yankees beat Toronto for their 16th consecutive home victory against the Blue Jays.
Jacoby Ellsbury stole two bases, scored twice and hit one of three early sacrifice flies for the Yankees off Drew Hutchison.
Phelps (3-4) yielded two runs and struck out seven in winning his second straight outing after a four-start skid. The Yankees earned their first three-game sweep at home this season and sliced Toronto's lead in the AL East to 1 1/2 games.
RAYS 5, ASTROS 0
ST. PETERSBURG, Fla. (AP) - Chris Archer allowed three hits in 6 2/3 innings, Kevin Kiermaier and Evan Longoria homered on consecutive pitches, and the Tampa Bay Rays beat the Houston Astros.
Archer (4-4) struck out eight and walked two to help the Rays win for the sixth time in the last 23 games.
TIGERS 2, ROYALS 1
DETROIT (AP) - Anibal Sanchez pitched seven sharp innings, and the Detroit Tigers ended Kansas City's 10-game winning streak.
J.D. Martinez hit a tiebreaking homer in the fourth for the Tigers, who avoided a four-game sweep and pulled within a half-game of the AL Central-leading Royals. Sanchez (4-2) allowed five hits and a walk, keeping the Kansas City offense quiet even though he failed to strike out a batter.
Joba Chamberlain pitched the eighth, and struggling closer Joe Nathan struck out the side in the ninth for his 14th save in 18 chances.
Danny Duffy (4-6) allowed two runs and three hits in seven innings. He walked one and struck out five.