Updated

Manager Manny Acta had reason to smile, even after his Cleveland Indians lost 2-0 to the St. Louis Cardinals.

Cleveland made it to game 58 without getting blanked, leaving the Detroit Tigers as the lone team in the major leagues that hasn't been shut out. Last year, the Indians were blanked 15 times.

"Step in the right direction," Acta said with a double thumbs-up. "That's great. It took over two-something months for us to get shut out. It's a credit to the guys. They've been battling. It had to happen."

Carlos Beltran had three hits, including his NL-leading 17th home run.

Michael Brantley had two singles to extend his hitting streak to 17 games for Cleveland. But the Indians had only three runners in scoring position against Kyle Lohse (6-1), who gave up three hits in 7 2-3 innings and ended a string of five straight no-decisions.

Beltran homered with two outs in the third and had three of the seven hits by St. Louis, which has won three of four. Shane Robinson doubled to start the eighth and scored on Rafael Furcal's one-out sacrifice fly against Jeremy Accardo.

The game took just 2 hours, 14 minutes, the fastest of the season for both teams.

Masterson (2-6) struck out six with no walks in seven innings, while giving up five hits. He retired the side in order in three of his last four innings but is 1-4 in his last seven starts.

Beltran was impressed with the amount of movement on Masterson's pitches.

"I feel personally sometimes he doesn't know where the ball's going," Beltran said "The catcher's leaning one way, and the ball's landing the other way, and I guess because the ball moves so much it's hard for him to control it. He has the potential to be a good pitcher".

Masterson worked at least six innings for the ninth straight start, but has lost his last three. He's accustomed to lack of run support given the Indians have totaled three or fewer runs eight of his last nine appearances.

"Somebody's got to sacrifice for the good of the team," Masterson said. "I feel like if I shut them out, we're still playing. There's always room for improvement."

Lohse moved a game above .500 at 108-107 with his first win over the Indians since 2004, when he worked an inning of relief in a 12-inning game. The outing was his longest of the season, one out longer than on opening day when he won at Miami. He threw a season-high 105 pitches.

Yadier Molina threw out Asdrubal Cabrera attempting to steal, ending the eighth on Marc Rzepczynski's only pitch, and Jason Motte finished for his 11th save in 14 chances.

Brantley is 24 for 65 (.369) during the longest current streak in the majors.

Molina reached a pair of firsts for St. Louis, batting third the first time in his career and getting caught stealing for the first time in six attempts, with Carlos Santana making a nice throw to end the sixth. The slow-footed Molina usually catches foes napping.

St. Louis won with a rejiggered lineup after Matt Holliday was scratched just before game time because of back spasms. Beltran stayed in the second slot in the new lineup, and nine of his homers have come batting second.

NOTES: David Freese didn't leave the box on a groundout to third ending the fourth, believing he'd fouled a ball off his left foot. He turned the opposite direction for several seconds before pivoting back and noting the Indians had left the field, then Freese and manager Mike Matheny briefly complained to home plate umpire Mark Wegner. ... RHP Ubaldo Jimenez, who starts the series finale against rookie RHP Joe Kelly, has a 3.09 ERA in seven starts with a win or no decision, but is 0-4 with a 10.42 ERA when taking the loss. RHP Joe Kelly starts in his major league debut, one day after his 24th birthday, in place of injured Jaime Garcia for the Cardinals. Kelly is 2-5 at Triple-A Memphis but leads the Pacific Coast League with a 2.86 ERA. He's a distant relative of gangster George "Machine Gun" Kelly.