Grosjean led more laps than any other driver at Barber Motorsports Park but saw his chances of a maiden series win nosedive when Sting Ray Robb stopped and caused a caution on lap 39.
Stan Sport is the only way to watch every round of the IndyCar Series. Click here for all the action streaming ad-free, live and on demand.
A close-fought battle after McLaughlin's final stop sparked memories of the season-opener in St. Petersburg and although Grosjean had initially been able to resume his position at the front, the New Zealander made his race-winning move at Turn 5 on lap 72 of 90.
Things almost got worse for Grosjean, with Will Power closing in with five laps remaining but unable to make the move.
Pato O'Ward was fourth with Alex Palou fifth and Christian Lundgaard sixth.
After his frustration with his two fastest laps being deleted in qualifying for blocking, Marcus Armstrong recovered from P25 on the grid to P11, marking him out as the driver to climb the most positions on Sunday.
The weekend had been dominated by talk as to whether conserving fuel and running a two-stop strategy or stopping three times and sprinting the whole way would be the better strategy – the former having been the way to go in recent years.
Although McLaughlin triumphed, he and team-mate Power were the only drivers in the top 10 to stop three times.
Josef Newgarden endured a difficult day, finishing in P15 after starting in P7. His problems started on the opening lap when he made contact with Felix Rosenqvist, spinning the Arrow McLaren driver and sustaining damage to his right rear corner.
After featuring in the top three early on, the damage eventually saw him bleed places in the closing stages.
Despite finishing in P10, Ericsson enters the ‘Month of May' at the top of the drivers' standings. As a result of his fourth career win, McLaughlin moves up to fourth, 12 points off the top spot.