Dale Earnhardt Jr won his second NASCAR Sprint Cup race of the season in the 400-miler at Pocono, only grabbing the lead in the final five laps from erstwhile dominator Brad Keselowski.
Penske Ford racer Keselowski had built a clear lead from the final restart, but picked up a plastic bag on his front grille, which was affecting his engine temperature.
He tried to blow it off by running close to the lapped Danica Patrick, but lost momentum in doing so and Earnhardt zoomed past in his Hendrick-run Chevrolet, and clung to his first win since the season-opening Daytona 500.
Earnhardt also had trash on his grille, and admitted after the race that his temperature was running high too.
Keselowski tried to retaliate but Earnhardt held him off.
"He had me beat, but he did not think his motor was going to make it," said Earnhardt.
"I've lost some in some strange ways, so it's nice to win one like that. Tonight's going to be a long one!"
Kurt Busch finished third, his third top-five of the season, and both team owner Tony Stewart and team-mate Kevin Harvick also ran strongly, but they slumped to 13th and 14th after a pit speeding penalty and a puncture respectively.
Joe Gibbs's polesitter Denny Hamlin finished fourth after struggling in traffic all day, ahead of Kyle Larson, who led his first laps in the series in his Ganassi Chevy.
"A lot better finish than I thought I'd get," said Larson.
"Denny did a real good job to keep me behind."
Jimmie Johnson, who started 20th, got himself into the lead reckoning until hitting Macros Ambrose in the pits and suffering right-front damage.
Amazingly, he dragging himself back into the frontrunning pack but his two-tyre strategy at the final round of stops harmed his pace in the final stages and he finished sixth.
"We started deep in the field, but got to the front," he said.
"I didn't know the #9 [Ambrose] was trying to get in. We ground it out today."
Kasey Kahne suffered the biggest crash of the day, and declined to speak to media after being released from the infield care centre as he did not fell well enough.
Results - 160 laps:
Pos Driver Team/Car Time/Gap
1. Dale Earnhardt Jr Hendrick Chevrolet 2h52m07.000s
2. Brad Keselowski Penske Ford +0.439s
3. Kurt Busch Stewart-Haas Chevrolet +4.145s
4. Denny Hamlin Joe Gibbs Toyota +7.135s
5. Kyle Larson Ganassi Chevrolet +7.450s
6. Jimmie Johnson Hendrick Chevrolet +9.061s
7. Ryan Newman Childress Chevrolet +9.728s
8. Jeff Gordon Hendrick Chevrolet +10.365s
9. Martin Truex Jr Furniture Row Ford +11.073s
10. Jamie McMurray Ganassi Chevrolet +11.423s
11. Clint Bowyer Waltrip Toyota +11.762s
12. Kyle Busch Joe Gibbs Toyota +12.107s
13. Tony Stewart Stewart-Haas Chevrolet +12.401s
14. Kevin Harvick Stewart-Haas Chevrolet +13.002s
15. Ricky Stenhouse Jr Roush Fenway Ford +15.755s
16. Greg Biffle Roush Fenway Ford +16.660s
17. Austin Dillon Childress Chevrolet +17.625s
18. David Ragan Front Row Ford +19.683s
19. Brian Vickers Waltrip Toyota +19.963s
20. Michael Annett Baldwin Chevrolet +20.749s
21. AJ Allmendinger JTG Daugherty Chevrolett +21.313s
22. Aric Almirola Petty Ford +21.657s
23. Casey Mears Germain Chevrolet +22.320s
24. Marcos Ambrose Petty Ford +22.525s
25. Matt Kenseth Joe Gibbs Toyota +23.771s
26. Paul Menard Childress Chevrolet +23.417s
27. Justin Allgaier Hscott Chevrolet +23.769s
28. David Gilliland Front Row Ford +24.766s
29. Travis Kvapil FAS Lane Ford +27.214s
30. Cole Whitt BK Toyota -1 lap
31. Alex Bowman BK Toyota -1 lap
32. Ryan Truex BK Toyota -1 lap
33. Landon Cassill Hillman Chevrolet -2 laps
34. Reed Sorenson Baldwin Chevrolet -2 laps
35. Josh Wise Parsons Chevrolet -2 laps
36. Timmy Hill Robinson Toyota -2 laps
37. Danica Patrick Stewart-Haas Chevrolet -2 laps
38. JJ Yeley Xxxtreme Chevrolet -3 laps
39. Alex Kennedy Circle Sport Chevrolet -4 laps
40. Dave Blaney Humphrey Ford -10 laps
Joey Logano Penske Ford 150 laps
Carl Edwards Roush Fenway Ford 142 laps
Kasey Kahne Hendrick Chevrolet 142 laps