Roenis Elias' command was shaky, and so was his defense.

The Seattle Mariners rookie walked five, gave up two unearned runs and allowed a broken-bat RBI single by the opposing pitcher, which all added up to a frustrating night in a 7-0 loss to the Miami Marlins.

"He was one out — the pitcher — from having a fantastic outing," Mariners manager Lloyd McClendon said. "It's a shame it ended up like it did."

Elias gave up a two-out run-scoring single by pitcher Henderson Alvarez to make the score 3-0. The hit left Alvarez shaking his right hand in pain.

"He jammed me hard," Alvarez said. "I thought I broke all five fingers when I got to first base."

Elias wasn't blaming bad luck for the hit, however.

"Pitchers should never get a hit," he said. "They're not a professional hitter."

Two batters later, Marcell Ozuna hit a three-run homer to end the night for Elias (1-2), who allowed six runs in 5 2-3 innings. Miami's first two runs were unearned due to an error by center fielder Abraham Almonte and a passed ball by Mike Zunino.

The Mariners mustered only two hits against Alvarez (1-2), who won for the first time since his no-hitter to end the 2013 season. The Venezuelan faced just 28 batters, one over the minimum.

"When you run into a guy that's got three or four pitches working and he's a power pitcher, it's going to be tough," McClendon said. "You're probably going to have a long night. That's the way it was."

The Mariners lost their fifth game in a row and were shut out for the fourth time.

"This is a tough stretch for us," McClendon said. "Everybody in baseball goes through tough stretches, and we just happen to have ours now. We've got to grind it out and keep our heads up and keep going."

Alvarez retired the first 15 batters en route to the third complete game and third shutout of his career. He struck out four, walked none and threw 90 pitches.

"Talk about efficiency," manager Mike Redmond said. "In the first inning you could sense the intensity, and the way he was executing his pitches, you could tell he was on a mission."

Alvarez generated more offense than Seattle, hiking his career average to .297.

"It takes the winds out of the sails when a pitcher gets a broken bat hit," Zunino said.

The Mariners had eight left-handers in the lineup against Alvarez, but that didn't faze the right-hander, who retired the side in order for five innings before Dustin Ackley singled to shallow left-center on the first pitch of the sixth.

After the crowd of 24,003 gave Alvarez a warm ovation, Ackley was erased on a double play. Zunino doubled with one out in the ninth for the Mariners' other hit before Alvarez closed out the Marlins' first complete game this year.

Alvarez, who turned 24 Friday, reached 96 mph on the scoreboard radar gun and had good command of his sinker. He went to three balls on only one batter, and induced 17 groundball outs.

The dominating performance was reminiscent of Alvarez's no-hitter on the final day of last season, when Miami scored in the bottom of the ninth to beat Detroit 1-0. That was the first time a no-hitter was secured with a walk-off wild pitch to bring home the winning run, and Alvarez was in the on-deck circle at the time.

NOTES: The Mariners' Corey Hart was given the night off. ... The Mariners' walk-off loss Friday was their 52nd since the start of the 2010, by far the most in the majors during that span. ... The Marlins became the first team since the Red Sox in 1949-52 to hit a walk-off grand slam in three consecutive seasons. ... Mariners LHP Joe Beimel turned 37 Saturday. ... Seattle RHP Brandon Maurer and Marlins RHP Kevin Slowey are scheduled to make their first starts of the season Sunday.