It was Sonnanstine's second-career two-hit game that the St. Louis Cardinals didn't see coming.
"The guy doesn't even probably take BP, so you've got to give him credit," Cardinals starter Braden Looper said after the Rays' 3-1 victory Friday night. "It was pretty amazing. At least I'm not the first one, anyway."
Akinori Iwamura had three hits and an RBI for the AL East leaders, who are eight games above .500 for the first time in franchise history and extended their lead over the Red Sox, who were rained out. Iwamura is on a 9-for-21 tear for the Rays (25-17), who have won eight of nine with two shutouts while outscoring the opposition 38-15.
"I'll take this eight out of seven days every week," manager Joe Maddon said.
Albert Pujols was 0-for-4 with two groundouts, an infield popup and a strikeout, ending his streak of reaching base in all 42 games to start the season. It also ended Pujols' 14-game hitting streak, and he made his first error of the year at first base, muffing B.J. Upton's soft liner in the seventh.
Sonnanstine said a scouting report from Rays closer Troy Percival, who played for the Cardinals last year, was a big help against Pujols.
"I sat down with Percy before the game and we went over the lineup, and our approach on him was mostly to just keep him in the yard," Sonnanstine said. "He's one of the best hitters in the game right now and I'm very happy with the way we went about pitching him."
Chris Duncan homered and Troy Glaus had two hits, making him 10-for-18 the last four games, for the Cardinals. But St. Louis has lost eight of 10, including three of the first four games of a six-game homestand.
Sonnanstine (6-1) is 5-0 in his last six starts, matching last year's win total in a 6-10 season. Duncan's fourth homer with one out in the eighth was the only damage against the right-hander, who yielded one run and eight hits with four strikeouts and no walks.
"Having a guy on the mound that's competitive is sometimes better than having someone with great stuff," Percival said. "He really kept them off-balance and that's hard to do with that kind of lineup."
Sonnanstine allowed only three other baserunners into scoring position before Percival worked a perfect ninth for his 11th save in 13 chances. Rays starters have a 1.16 ERA in the last 10 games.
Looper, in his second year in the Cardinals' rotation, threw a career-high 117 pitches while giving up three runs and 10 hits in six innings. The Rays stranded at least one runner in every inning, including two in the fourth.
Looper (5-3) was 0-3 with a 12.56 ERA in interleague play last year and is 6-7 with a 5.57 ERA for his career.
"I definitely wasn't at my best," he said. "It could have gotten out of control very fast, so I guess that would be the one positive I'd take out of it. Still, I've got to be better than that."
Sonnanstine is 4-for-8 at the plate for his career after starting a two-run third with a single and also singling in the fourth. Carl Crawford and Carlos Pena had RBI singles in the third. Iwamura added an RBI single for a 3-0 lead in the fourth.
"I'm a man of many talents," Sonnanstine joked. "I see ball, hit ball. I knew I was going to get some fastballs and I just barreled a couple up."
Iwamura has six multihit efforts in the last seven games. ... Rays SS Jason Bartlett was 2-for-4 after missing Thursday's game because his wife had a complication with her pregnancy. ... RHP Chris Perez worked a scoreless seventh, once hitting 100 mph on the radar gun, in his major league debut for the Cardinals. Perez's contract was purchased from Triple-A Memphis when closer Jason Isringhausen went on the DL with a cut on his pitching hand and is the fifth player to make his debut with St. Louis this season. ... Rick Ankiel was 0-for-4, ending a nine-game hitting streak.