ANAHEIM, Calif. -- Rookie Francisco Liriano's no-hitter got wiped out just before he did.
Joe Mauer had three hits, including a two-run double, and Torii Hunter also drove in two runs for the Twins, who avoided being swept in Anaheim for the first time since July 2003.
Liriano (4-0) struck out four and walked four in his longest outing of the season. The only batter to hit a ball out of the infield against the left-hander was his last. Vladimir Guerrero, who went 0-for-4, flied out to the warning track in left-center with runners at second and third to end the sixth.
"He pitched his butt off, was throwing 95, 96 mph and had those guys off-balance," Hunter said. "Whenever you have Vladimir Guerrero and Garret Anderson off-balance, you're doing pretty good."
Liriano lost his no-hit bid in the sixth when third baseman Tony Batista charged Orlando Cabrera's chopper and threw to a fully stretched Justin Morneau. First base umpire Ed Hickox called Cabrera safe, but replays showed the throw beat the runner.
"He missed that call, but I didn't get upset," Liriano said. "I felt good. I was hitting my spots."
Twins manager Ron Gardenhire came out to calmly discuss the play with Hickox before retreating.
"I get in too much trouble and it costs me too much money to say anything," Gardenhire said. "We thought we got him and obviously Eddie thought he was out and that's what we talked about at first base. I'm trying to be civilized. I've been thrown out four times already."
Even without the questionable call, Liriano, who threw 104 pitches, wasn't going to continue past six innings.
"We didn't want to go to 100, but it was such an exciting inning, so we left him out there," Gardenhire said. "We don't want to push this young man. He's just now getting his legs underneath him and building his arm strength."
The Angels had previously seen Liriano in relief on April 19.
"He's one of the bright young stars in our league, and now that he's in their rotation, a lot of people are going to get to see how good he is," Angels manager Mike Scioscia said.
Ervin Santana (4-3) gave up four runs and nine hits in seven innings, struck out three and walked none.
"Ervin didn't make a lot of mistakes, but he wasn't able to bring his other pitches into the first inning to try to minimize some damage and they hit some fastballs," Scioscia said. "It all happened so quickly, but then he settled down and pitched well. But the damage was already done. We were swimming upstream and a good pitcher like Liriano, with the stuff he had, made it tough."
The Twins led 3-0 in the first on Maurer's two-run double and Hunter's sacrifice fly. Hunter's RBI single in the third made it 4-0.
The Angels, who finished with three hits, scored an unearned run in the seventh against Matt Guerrier. Juan Rivera doubled to left-center and scored on a throwing error to third by shortstop Nick Punto, who knocked down pinch-hitter Dallas McPherson's single up the middle and tried to get Rivera taking a wide turn.
The Twins extended the lead to 7-1 in the ninth against Hector Carrasco with a two-run double by Batista and an RBI single by Punto.
Santana lost for the first time in a night home game in his career. ... All nine Twins starters had at least one hit. ... Minnesota's Lew Ford started in right field in place of Michael Cuddyer, who was scratched a day after fouling a pitch off his left foot. ... The Angels were seeking their first three-game sweep of the season. They are 5-10 in the third game of a series.