It was the 34th career multihomer game for Guerrero, who came in batting .260 with just four homers, his lowest career totals after 45 games.
Guerrero quickly set about erasing that slow start, clubbing a solo shot to center in the first and adding a three-run drive into the second deck in left in the third.
"He's got hands as quick as anybody who's ever been in the batter's box," Angels manager Mike Scioscia said. "He went out and got a breaking ball that wasn't too bad of a pitch and hit it out to left center, then got a tough pitch inside and got his hands through and killed it. That's talent."
"We didn't have much offensively," Scioscia said. "It's safe to say, if you're going to say somebody carried us tonight, it would be Vlad."
Guerrero, who finished 2-for-4 with four RBI, struck out swinging in the fifth and flied to center in the eighth.
"I saw the ball very well tonight," Guerrero said through a translator. "My swing felt great, comfortable. We needed the home runs tonight with so few hits. That's my job, to help the team, especially on a night like tonight."
Garland (5-3) has lost just once in his past seven starts. He gave up three runs and eight hits in six innings, walked two and struck out one.
The right-hander is 6-0 with a 4.47 ERA in 10 career games at Rogers Centre and 10-2 overall in 14 career starts against the Blue Jays.
Garland is at a loss to explain his success in Toronto, or at other domed stadiums with artificial turf. He's 16-4 at such ballparks in his career.
"Usually, for a sinkerballer who's supposed to get a lot of ground balls, it doesn't work out that way," Garland said. "I have no idea. I hope it continues though."
Blue Jays right-hander Shaun Marcum (4-3) worked on two days rest after going just one inning because of a rain delay in Sunday's game at Philadelphia. Marcum lost for the first time since April 26 at Kansas City and has not won in three starts, his longest streak of the season.
Marcum allowed four runs and four hits in 6 2/3 innings. He walked three and struck out seven, and was left frustrated by Guerrero's two drives.
"I threw two good pitches, pitcher's pitches, and he hit them out of the park," Marcum said.
Toronto scored one in the first on an RBI single by Matt Stairs, but the Blue Jays didn't get another hit until the fifth. Alex Rios made it 4-2 with Toronto's third hit of that inning, a two-out single to center.
Toronto put runners at first and second with one out in the eighth, but Marco Scutaro grounded into the Blue Jays' sixth double play of the series. The Blue Jays hit into four double plays in Tuesday's 3-1 defeat.
"We did just enough to win," Scioscia said. "Our bullpen was on the edge again."
- LHP Joe Saunders (flu-like symptoms) will miss his scheduled start Thursday, with right-hander Ervin Santana taking his spot. Saunders is expected to pitch either Friday or Saturday when the Angels visit the Chicago White Sox.
- Los Angeles activated INF Figgins off the 15-day disabled list and put INF Erick Aybar (dislocated finger) on the 15-day DL. Scioscia said Aybar could miss four weeks.
- The Angels optioned INF Matt Brown to Triple-A Salt Lake and recalled INF Brandon Wood.
- Toronto SS David Eckstein (hip flexor) was expected to come off the disabled list Thursday but felt sore after playing in an extended spring game Monday and will spend an extra few days rehabbing in Florida.