The Marlins, surprisingly, swept the Diamondbacks in a three-game series to maintain a 1 1/2-game lead over Atlanta for the top spot in the National League East.
Miller (4-3) allowed five hits and struck out a career-best nine over seven innings. Logan Kensing kept the shutout going in the eighth despite putting two men on base, and Justin Miller worked around a one-out double in the ninth.
Dan Haren (5-3) took the loss, giving up four runs on eight hits in 6 1/3 innings. The Diamondbacks had won four of five coming into the series.