Starting fifth on the grid, the McLaren star capitalised on a cheap pitstop under a safety car triggered by a collision between home hero Logan Sargeant and Kevin Magnussen.
The Haas driver, who accumulated a staggering six penalties throughout the Miami weekend, was slapped with a 10-second penalty for the incident and is now two penalty points away from a race ban.
Max Verstappen, despite topping the sprint and qualifying, could only manage a second-place finish, crossing the line 7.612 seconds behind the jubilant Norris.
Ferrari's Charles Leclerc finished third, while his team-mate Carlos Sainz dropped from fourth to fifth behind Sergio Perez, after receiving a five-second time penalty for colliding with Oscar Piastri.