The world champion started third, but raced past Carlos Sainz at the opening bend before taking Leclerc in the other Ferrari on lap nine.
A ten-lap shootout following a safety car period provided a dramatic end, but Verstappen held his nerve. Leclerc took the runner-up spot with Sainz completing the podium.
Sergio Perez took fourth ahead of George Russell. Lewis Hamilton started sixth and finished in the same position after he was usurped by a freshly-shod Russell with nine laps to run.
“Strategy has not been kind to me, man,” he said over the radio. Russell has now finished ahead of Hamilton at every race bar one, with the seven-time world champion 68 points behind Leclerc after just five rounds.
The stars of sport and showbiz flocked to Florida for F1’s first race at the Hard Rock Stadium, 15 miles north of Downtown Miami.
NBA great Michael Jordan, Grand Slam champions Serena and Venus Williams, former England captain David Beckham, Hollywood’s Matt Damon and pop star Pharrell Williams led the cast on a celebrity-fuelled and manic pre-race grid.
But when the lights flicked from red to green, the initial action on track provided less entertainment.
Hamilton has won six times and sealed two of his seven titles in the land of the free. But those triumphs will feel like a distant memory for Briton’s record-breaking star.
Hamilton’s Mercedes is no longer F1’s tour de force, and by lap 20 he was already half a second behind Verstappen.
Hamilton’s getaway was strong, drawing alongside former team-mate Valtteri Bottas on the short run to the opening chicane.
But Hamilton locked up, losing a spot to Pierre Gasly before Fernando Alonso’s front right wheel made contact with Hamilton’s left rear at the opening chicane.
“I’ve been hit from behind,” said Hamilton. His race engineer Peter Bonnington replied: “I don’t think we have suffered any damage.”
Hamilton fought his way back past Alonso on lap three to move up to seventh. Three laps later, he roared past Gasly for sixth, a dozen seconds behind Leclerc.
Up front the lead changed hands at the start of lap nine when Verstappen drew alongside Leclerc on the pit straight before roaring past his championship rival.
The race plateaued before suddenly coming to life with 16 laps left when Lando Norris and Gasly collided.
Gasly ran wide at Turn 8 and Norris sensed an opportunity in their duel for 13th, but the pair banged wheels with the young Briton sent into a high-speed pirouette as his right rear tyre fell off his McLaren.
Out came the safety car, with Russell, who had yet pit for new rubber, able to take effectively a free stop.
That promoted him to seventh, a place behind Hamilton, who was on 24-lap old rubber when the safety car came in.
Bottas ran wide at Turn 8, enabling Hamilton to move up one spot, but he could not keep Russell, on fresh tyres, behind. The two Mercedes cars fought for position, but Russell made the move to deal Hamilton another blow on a season proving unforgettable for the grid’s most decorated driver.
Bottas finished seventh, with double world champion Alonso eighth. Mick Schumacher was denied his first points in F1 following a late collision with Sebastian Vettel.
“It was very hard physically, but I am incredibly happy with winning in Miami,” said Verstappen following his third victory of the campaign.
“We struggled with the tyres in the first stint and it made our race difficult," said Leclerc.
“I thought I could get Max at one point but he was too quick. It has been tight with Max since the beginning of the season and that has been great to see.”