Drama began even before the 160-minute race got underway, with the pole-sitting #31 Action Express Cadillac forced to start from the back after an incident for Alexander Sims in warmup.
On the pace lap, another GTP entry found trouble when Connor De Phillippi spun his #25 Team RLL BMW.
The resulting cleanup led to the race starting behind the safety car. When the green flag finally waved, Campbell maintained control at the front, but the race was soon interrupted again when trying to make up ground, De Phillippi slid wide in the kink and crashed out.
The sister #24 BMW had a moment soon after when Philipp Eng was pushed into the dirt at Turn 5 by the JDC Miller Porsche of Mike Rockenfeller. The sole surviving BMW later fell off the pace with an issue and lost multiple laps.
Campbell pitted with just over 90 minutes remaining, with Nasr taking over in a ten-second lead over the MSR Acura that Colin Braun had handed over to Tom Blomqvist. Meanwhile, a difficult day for Sims got worse when he spun, leaving the car he shared with Pipo Derani to finish sixth.
With 20 minutes to go, Blomqvist had cut Nasr’s lead down to five seconds and got to within two seconds of the lead in traffic before his charge finally stalled out. The reigning IMSA champion was unable to get any closer, allowing the #7 Porsche to take the programme's second win of the campaign after the sister #6 crew's victory at Long Beach.
Blomqvist was forced to settle for second, beating the #10 Wayne Taylor Racing with Andretti Autosport Acura shared by Ricky Taylor and Filipe Albuquerque in a distant third.
Sebastien Bourdais and Renger van der Zande's Chip Ganassi Racing-run machine was the leading Cadillac in fourth ahead of the JDC Miller Porsche Rockenfeller shared with Tijmen van der Helm.
The second Penske Porsche of Nick Tandy and Mathieu Jaminet ended up seventh, ahead of the customer Proton Porsche that was making its first IMSA appearance after its competition debut in the Monza World Endurance Championship round.
The LMP2 class was dominated by the #52 PR1 Mathiasen Motorsports ORECA of Ben Keating and Paul-Loup Chatin, heading the #35 TDS Racing ORECA that Jon Falb shared with Giedo van der Garde.
The #33 Sean Creech Motorsport Ligier of Joao Barbosa and young gun Nico Pino led early on in the LMP3 division, but despite a high-speed off at the carousel, the #74 Riley Liger of Gar Robinson and Josh Burdon claimed victory by 11s.
In GTD Pro, the #23 Heart of Racing Aston Martin Vantage of Ross Gunn and Alex Riberas claimed back-to-back wins after a battle with the #3 Corvette Racing C8.R.
After taking over from early leader Riberas, Gunn was embroiled in battle trying to repass Antonio Garcia when with 24 minutes remaining the Spaniard was handed a drive-through penalty for failing to adhere to the minimum refuelling time.
Garcia and Jordan Taylor still finished third, but were beaten to second by the Vasser Sullivan Lexus of British duo Jack Hawksworth and Ben Barnicoat.
Paul Miller Racing BMW crew Madison Snow and Bryan Sellers extended their GTD class points lead with victory by just 2.2s over the Inception Racing McLaren of Brendan Iribe and Frederik Schandorff.