UNDATED (AP) — The Tampa Bay Rays just keep winning. The Rays, who got off to an awful start the first two months of the season, captured their seventh in a row with a 3-0 whitewash of the St. Louis Cardinals. The Rays have won 25 of 36 and are 13-4 in July.

Alex Cobb and two relievers combined on a five-hit shutout. Cobb struck out 10 in his seven innings. He's 6-6. It's the fourth time he has thrown at least seven innings without an earned run this season. Cobb missed 50 games last season with a concussion after being hit by a liner.

That moves the Rays within four games of .500 and within striking distance of the wild card hunt.

The loss drops the Cardinals two and a-half games back of division-leading Milwaukee in the NL Central.

Elsewhere:

— Forty-one-year-old Bartolo Colon (bar-TOH'-loh koh-LOHN') came within seven outs of a perfect game as he retired the first 20 batters in the New York Mets' 3-2 win at Seattle. Colon finally gave up a single to Robinson Cano (kan-OH') and improved his overall mark to 9-8 this season and 13-1 all-time at Safeco Field. The rotund right-hander wound up giving up two runs and three hits in 7 1/3 innings.

— Jorge De La Rosa struck out a season-high 11 as he pitched efficiently into the eighth inning and the wobbly Colorado bullpen held off Washington's late rally, helping the Rockies snap a seven-game skid with a 6-4 win over the Nationals. LaTroy Hawkins got out of a bases loaded jam in the ninth to help De La Rosa improve to 11-6. He is 42-14 lifetime at Coors Field.

— Atlanta moved within a game of the NL East-leading Nationals by trouncing Miami 6-1. Freddie Freeman hit a three-run home run, ending a 2-for-44 slump. Ervin Santana improved to 9-6.

— The San Francisco Giants beat the Phillies 3-1 move two games ahead of the L.A. Dodgers in the NL West. Hunter Pence blooped a bases-loaded double off Jonathan Papelbon that drove in all three Giants runs in the top of the ninth. Madison Bumgarner won his 12th game with eight shutout innings.

— Pittsburgh downed the L.A. Dodgers 6-1. Josh Harrison had two hits with two RBIs. His two-run double highlighted a four-run first inning against loser Dan Haren, who fell to 8-8.

— Miguel Cabrera hit a three-run homer, Austin Jackson a three-run double and the Detroit Tigers wore out the Arizona Diamondbacks 11-5 in a slugfest at Chase Field. Each team rapped out 13 hits as the Tigers built an early 7-0 lead after four innings against Trevor Cahill, who fell to 1-7.

— Brett Gardner hit a tiebreaking homer off All-Star ace Yu Darvish, and the New York Yankees beat the Texas Rangers 2-1 in a rain-shortened game called in the fifth inning.

— The L.A. Angels rallied with two in the eighth and nipped AL East-leading Baltimore 3-2. Kole Calhoun walked with the bases loaded to drive in the go-ahead run. Jered Weaver improved to 11-6 with the win.

— Home Run Derby winner Yoenis Cespedes (yoh-EHN'-ehs SEHS'-peh-dehs) had a big night. He homered twice and drove in five runs in the Oakland Athletics' 9-7 victory over Houston. He has 16 home runs.

— San Diego downed the Chicago Cubs 8-3. Tommy Medica hit a go-ahead RBI double in the fifth inning. Ian Kennedy pitched six strong innings to improve to 8-9.

— Toronto slapped Boston 6-4. Jose Bautista homered and drove in two runs. Knuckleballer R.A. Dickey won for the first time in three starts and improved to 8-10.

— The Reds were just the cure for what ailed Milwaukee. The Brewers completed a three-game sweep of Cincinnati with a 5-1 victory, after having lost 13 of their previous 16 heading into the series. Mark Reynolds entered the game hitting .199, but had three hits including two home runs and drove in three.

— Mike Moustakas scored the tiebreaking run in the top of the ninth inning when White Sox catcher Tyler Flowers couldn't handle a throw home, giving Kansas City a 2-1 win over the White Sox. Adam Eaton's strong throw beat Moustakas to the plate, but Flowers lost control of the ball when the runner slid into him.

— Fill-in starter Anthony Swarzak worked four perfect innings of the five he pitched in a fill-in start, helping Minnesota top Cleveland 3-1. Swarzak got the nod for Kyle Gibson who is having back problems. Swarzak allowing 2 hits and the lone Cleveland run.

UNDATED (AP) — The Washington Nationals have placed third baseman/outfielder Ryan Zimmerman on the 15-day disabled list with a strained right hamstring. He was injured in the sixth inning Tuesday night while running out a grounder. The 29-year-old Zimmerman missed 44 games with a fractured right thumb earlier this season.

The Nationals are 33-19 this year with Zimmerman in the lineup. He's hitting .282 with five homers and 36 RBIs.

In other baseball news:

— San Diego Padres outfielder Cameron Maybin has been suspended for 25 games after testing positive for an amphetamine. He is batting .247 with one home run and nine RBIs in 62 games this season.