ANAHEIM, Calif. -- Ervin Santana took a perfect game into the seventh inning before finishing with a one-hitter, and Mark Trumbo hit a two-run homer in the Los Angeles Angels' 2-0 victory over the Arizona Diamondbacks on Saturday night.
Santana (4-7) bounced back from several rough outings by retiring Arizona's first 20 hitters before Justin Upton's two-out single to center in the seventh.
The Dominican right-hander then retired the next five Diamondbacks before pinch-hitter Miguel Montero drew a four-pitch walk in the ninth, but Santana finished up his first complete game of the season with two fly balls.
Joe Saunders (4-5) allowed eight hits in six innings while facing the Angels for the first time since they traded him to Arizona in 2010. Saunders mostly kept pace with Santana, his longtime teammate, after a rough first inning, but the Diamondbacks were shut out for the third time in 11 games.
YANKEES 5, NATIONALS 3, 14 INNINGS
WASHINGTON -- Mark Teixeira hit a two-run double in the 14th inning and the Yankees picked up their eighth consecutive victory.
Freddy Garcia (1-2) pitched two innings to get the win. Rafael Soriano finished for his 12th save, but only after allowing consecutive one-out singles to Jesus Flores and Steve Lombardozzi. The game ended when Soriano got Bryce Harper to ground out, ending an 0-for-7 day for the Nationals' teen sensation that included five strikeouts.
Ian Desmond hit a solo homer for Washington.
MARLINS 4, RAYS 3, 15 INNINGS
ST. PETERSBURG, Fla. -- Scott Cousins hit a tiebreaking RBI triple in the 15th inning to lift Miami to the win.
Former Ray Justin Ruggiano doubled with one out and raced home when Cousins, playing his second game since being recalled from the minors, sent a pitch from Brandon Gomes (1-2) down the right-field line.
Ryan Webb (3-1) pitched three scoreless innings for the victory. Heath Bell struck out the side for his 14th save in 18 opportunities for Miami, which won for just the second time in its last 11 games.
The Marlins beat their intrastate rivals for the first time in five meetings this year, ending an eight-game losing streak in the annual Citrus Series dating to May 2011. It was Tampa Bay's longest winning streak ever against a NL opponent.
ORIOLES 5, BRAVES 0
Hammel (7-2) struck out eight and walked two, throwing 65 of 102 pitches for strikes.
Brian Roberts drove in three runs for the Orioles, who have won six of seven.
Atlanta pitcher Brandon Beachy (5-5) left with right elbow soreness in the fourth inning. He allowed no hits and one run, struck out five and walked one.
The Braves have lost five of six.
RANGERS 8, ASTROS 3
ARLINGTON, Texas -- Nelson Cruz hit a towering three-run homer and the Rangers rallied to make Justin Grimm a winner in his major league debut.
Grimm (1-0), whose contract was purchased earlier in the day from Double-A Frisco, allowed three runs and six hits in six innings. He was pitching in place of Alexi Ogando, who will be out four to six weeks after he strained his right groin running out a bunt single in San Francisco last Sunday.
Harrell allowed five runs and seven hits over 5 1-3 innings.
CARDINALS 10, ROYALS 7
ST. LOUIS -- Matt Holliday homered and drove in five runs to power St. Louis to the victory.
Yadier Molina also went deep and finished with four RBIs as the Cardinals won for the third time in four games. Mitchell Boggs (1-1) pitched 1 1-3 scoreless innings for the win and Jason Motte recorded his 14th save in 17 chances.
Holliday also doubled twice and singled. Molina hit a tiebreaking two-run single off Greg Holland in the seventh inning.
Kansas City had won four straight. Tim Collins (4-1) was charged with the loss.
PIRATES 9, INDIANS 2
Burnett (7-2) gave up two runs over 6 2-3 innings. He extended the best stretch by a Pirates pitcher since Doug Drabek won six in a row during his NL Cy Young Award-winning season.
Casey McGehee homered and drove in four runs and Alvarez had three RBIs as the Pirates snapped a four-game losing streak. McGehee broke a 2-all tie with a two-run homer off Ubaldo Jimenez (6-5) in the sixth.
Cleveland's Michael Brantley went 0 for 3 with a walk, halting the majors' longest hitting streak this season at 22 games.
RED SOX 4, CUBS 3
Lester (4-4) struck out eight in 6 2-3 innings and was charged with three runs and seven hits. Alfredo Aceves got three outs for his 16th save in 19 chances.
BLUE JAYS 6, PHILLIES 5, 10 INNINGS
After Toronto scored three times in the eighth to make it 5-all, Escobar drew a leadoff walk in the 10th from Joe Savery (0-2). Escobar moved up on a balk, advanced to third on Mike McCoy's groundout and scored when Davis hit a drive that hopped over the left-center field wall.
John Mayberry Jr. hit a three-run homer for the Phillies, who have dropped 11 of 14. Lee allowed five runs and 12 hits in seven-plus innings.
BREWERS 6, TWINS 2
Braun added a double and a walk to back Fiers (2-2), who gave up one run and four hits. Aramis Ramirez and Cody Ransom also homered for the Brewers, who have taken the first two games in this interleague series.
Liam Hendriks (0-3) gave up five runs -- two earned -- and eight hits in five innings in his first start since being recalled from Triple-A Rochester. Trevor Plouffe went 0 for 1 with three walks, ending his streak of four straight games with a homer as the Twins lost their fourth straight.
TIGERS 4, ROCKIES 1
Fister (1-3) had been out since aggravating a ribcage strain on May 28. He missed a month after sustaining the original injury in his first start of the season.
Fister allowed three hits and struck out six, sending the Rockies to their ninth loss in 10 games.
Cabrera hit his 14th homer in the first.
Colorado's Christian Friedrich (4-3) gave up three runs, two earned, and three hits in five innings. He walked five and struck out four.
ATHLETICS 6, PADRES 4
OAKLAND, Calif. -- Pinch-hitter Jonny Gomes belted a two-run homer in the seventh inning to lift Oakland to its fifth consecutive victory.
Joe Thatcher (0-2) took the loss.
REDS 4, METS 1
Ryan Ludwick added an RBI single to help the NL Central leaders move a season-best 10 games over .500 at 37-27.
Bailey (5-4) allowed one run and six hits while improving to 4-1 in his last six starts. Aroldis Chapman tossed a hitless ninth for his eighth save.
New York starter Jonathon Niese (4-3) made one big mistake to Bruce during seven otherwise effective innings. He gave up four runs and six hits.
Copyright 2012 by The Associated Press
This story is from ESPN.com's automated news wire. Wire index
MORE MLB HEADLINES
- Washington defends Darvish's pitch count
- Yankees put Pettitte on DL with strained muscle
- Yankees win as Kuroda dominates Blue Jays
- Harvey moves to 5-0 as Mets slip past Cubs