Miller (4-3), Logan Kensing and Justin Miller combined to shut out Arizona for the first time this season.
Making the sweep more impressive is Florida beat Micah Owings (5-2), Brandon Webb (9-1) and Dan Haren (5-3). Haren took the loss on Thursday.
"That's a pretty good pitching staff they threw at us," Marlins manager Fredi Gonzalez said. "They pitched well, and we matched those guys. They didn't pitch horrible. They pitched pretty good themselves. We played pretty good defense. Nobody made mistakes, and we got timely hitting when we needed to."
Miller, a 6-foot-6 lefty with limitless potential, showed why many feel he will eventually blossom into an elite starter.
In the series, Florida's starters -- Mark Hendrickson, Ricky Nolasco and Miller -- combined to yield two runs in 19 innings, an 0.95 ERA.
Now 27-19, the Marlins recorded their fifth shutout of the season.
"It's a lot of fun, I know that, but it also gives this whole team confidence, and it builds our character," said veteran Wes Helms, who had a pinch-hit two-run double that broke the game open in the seventh inning. "It shows this team that we can do big things. We can't just beat the small teams, we can beat the big teams. We've shown that all year this year.
"This was a big series for us, confidence wise."
The Marlins racked up their fourth three-game sweep of the season, two of which have come at home.
For Miller, it was another step in his maturation process. Making his 10th start of the season, the left-hander repeatedly frustrated the Diamondbacks.
On five of his nine strikeouts, he caught Arizona batters looking. And on a number of occasions, the Diamondbacks were upset with home plate umpire Damien Beal's strike zone.
From the dugout, Diamondbacks manager Bob Melvin had words on a couple of occasions with Beal.
Miller remained composed throughout, mixing off-speed pitches at 77 mph with fastballs topping at 96 mph. His devastating curve kept hitters off balance, allowing him to zip in fastballs.
"I was able to throw to both sides of the plate on a pretty regular basis," said Miller, who has won four of his last five decisions after a slow start. "That's when you get guys frustrated. If you throw to the same spot all night, they can kind of lock in on an area.
"That's a good sign when you are on the mound, and they're complaining about calls. Obviously that means they're not comfortable. I love it when people complain about a call. It means that I've got something that probably was not a strike, or they were not seeing something there."
As the Diamondbacks exhibited frustration, Miller kept rolling along, matching his career high for innings pitched.
"He did everything we wanted to achieve," catcher Matt Treanor said. "He's been getting better and better with each start. He's thinking. He's trying to figure things out when he's out there. He's improving every time out.
"He knew that if he pitched his game, he'd get some swings and bad contact."
At one point, Gonzalez asked Treanor if Miller was throwing strikes or getting the benefit of calls.
"Even when they got into some hitter counts, they couldn't get good hacks at him, because his ball is pretty lively in that strike zone," Gonzalez said. "I talked to Matty [Treanor], and he was like, 'Those are some pretty good pitches. They're not four or five inches off the plate. They're strikes.' They don't get good reads on it, and they don't get good swings on it."
With the way Miller was throwing, the Marlins didn't need much offense, and Florida struck quickly off Haren.
Hanley Ramirez returned to the leadoff spot for the first time since May 1. He had been hitting third.
The switch paid off immediately. In the first inning, Ramirez tripled to right-center field. With the infield playing deep up the middle, Ramirez scored on Jorge Cantu's RBI groundout to second.
The Marlins padded their lead with a three-run seventh inning. Treanor singled with one out, and Alfredo Amezaga's third hit of the game, a single, put runners at the corners.
With Miller's pitch count at 107, Gonzalez sent in Wes Helms to pinch-hit. Helms came through with a double that scored two and ended Haren's night after 6 1/3 innings. Cantu added an RBI single off Chad Qualls.
About the only downside on Thursday was Dan Uggla went 0-for-4 and had his 11-game hitting streak snapped, which had been the longest active streak in the Major Leagues. The 11 games also matched a career high for the Florida second baseman.
Otherwise, it was an ideal evening that allowed the Marlins to continue to build their self-confidence.
"If we pitch and we catch it, we've got an opportunity to compete," Gonzalez said. "I'm not going to go out and say we're going to win 105 games or anything, but if we do those things, we've got a chance, every night."