MIAMI -- The Nationals didn't seem to miss Ryan Zimmerman much during his absence with a strained right hamstring. But they certainly used him to their advantage Friday night against the Marlins at Sun Life Stadium.

The third baseman made his return to the lineup an auspicious one, hitting home runs in his first two at-bats and driving in three runs to help the Nationals beat the Marlins, 7-1.

"He just prepared so well the whole time he was out," Nationals manager Jim Riggleman said of Zimmerman in the afterglow of success. "He was in the cage every day, he was on the field hitting. He really worked extra to see a lot of pitches and get a lot of swings."

Outfielder Nyjer Morgan, who had a special night of his own, called Zimmerman "a special breed." And Morgan added with obvious deep feeling, "We have our horse back now."

Zimmerman appreciated the comments, but he said there's nothing like real game action to test your readiness.

"You don't really get that feeling of being in there until you're actually in there," he said.

One of Zimmerman's thoughts was to try not "to do too much." He had that on his mind when he faced full-count pitches from the Marlins' Ricky Nolasco in his first two at-bats.

"He is going to throw you whatever," Zimmerman said. "That's what makes him so good. He kind of mixes and you never know what's coming, even in what might seem like a predictable situation."

Zimmerman, who has been limited to 16 games this season and started only 11, homered to left in the first inning. In the third inning, he took Nolasco over the right-center wall, this time with Adam Kennedy on.

"A special talent," Riggleman said. "I could work out hard like he did and I couldn't do that."

This was Zimmerman's fifth career multi-homer game. His last came on May 11, 2009, at San Francisco.

Lefty Scott Olsen was just as effective in his own way. The former Marlin came in with an unsightly 6.14 ERA, but he pitched his way out of jams in the first, second and sixth innings to shut out Florida over six innings.

Olsen, now 2-1, gave up five hits and three walks while striking out four.

"The first two innings, I really couldn't throw the slider for a strike," Olsen said. "But after that, we settled down pretty good."

It was his first victory over his former team.

"I'd be lying to you if I said it didn't mean a little more," Olsen said. "The effect of being traded has worn off, but it is nice to finally beat them, nice to pitch well against people you played with and you know."

The Marlins got a run back in the seventh, but this is where Morgan likely saved the game for the visitors. He made a diving catch of a bases-loaded liner by Ronny Paulino with two outs that saved at least three runs in a 5-1 game.

"It was do or die," Morgan said. "I felt ball-hungry. I was going to make the catch."

Morgan said he knew Paulino's hitting style from their days in Pittsburgh together. So he edged a few more steps toward right-center, where Paulino was soon to hit a liner.

Someone mentioned to Morgan that the ball was tailing away from him. Another said he seemed to have an impossible distance to run to reach it in time.

"No matter," he said. "I had it."

Riggleman ventured that there has been no finer outfield catch in the Majors this season.

"That was the game," he said. "The game had changed. They were putting a rally together. Paulino was hitting the ball good all night. I thought there's no way -- that ball is splitting the gap. Unbelievable."

First baseman Adam Dunn said he "absolutely" thought Morgan was going to catch that ball when it left Paulino's bat. Then he smiled.

"Are you kidding me?" he said. "I didn't think he'd have any kind of chance to make that play. Not too many people could make it."

Morgan said he was just doing what he knows how to do.

"I take a lot of pride in my defense," he said. "Like I tell my boys, I'd rather play defense sometimes than hit. I like picking those guys [pitchers] up and just doing my job."