Jesús Aguilar broke a 0-0 tie with a two-out, two-run double in the fifth.
Rogers (2-1) allowed four hits and one walk while striking out eight, lowering his ERA to 1.64 as he gained his third career win. The other two came against two-time Cy Young Award winner Jacob deGrom.
Yimi García completed the four-hitter by pitching a perfect ninth for his fourth save in as many chances. The last nine Orioles went down in order.
Bruce Zimmermann (1-2) allowed three runs in 4 2/3 innings.
Miami catcher Sandy León gave the offense a spark with two hits and went from first to third on a sacrifice bunt before scoring the game’s first run on Aguilar’s double. León was called up before the game to make his season debut.
Adam Duvall drove in Miami’s other run with a single and ranks among the NL leaders with 14 RBIs.
The Orioles fell to 3-14 in Miami.
THE NL EAST
Marlins general manager Kim Ng said her team’s division is baseball’s best, and not just because of the Atlanta Braves.
“I’m not sure there is going to be a clear runaway winner of this thing, because the quality of the entire division from top to bottom is very good,” Ng said. “That means we’re all going to beat up on each other all year long.”
Before the game, the Marlins placed C Jorge Alfaro (left hamstring strain) on the 10-day injured list, and selected León’s contract from the alternate training site. They optioned RHP Nick Neidert to the alternate training site.
Orioles: They begin a homestand Friday when RHP Jorge López (1-2, 8.56) starts against Oakland.
Marlins: LHP Daniel Castano (0-0, 1.80) is scheduled to start Thursday to begin a four-game series at San Francisco.