Johnson led most of the way at Chicagoland Speedway but Keselowski overtook him during the final round of pit stops, then controlled the last 25 laps to post his fourth win of the season and the eighth of his Sprint Cup career.
He bested Johnson by 3.17 seconds at the finish line and used the win to grab the Sprint Cup points lead for the first time in his career -- establishing a 3-point advantage over Johnson.
Former points leader Denny Hamlin finished 16th after running out of fuel on the final lap.
Moore to attend retreat in to avoid Kutcher's wedding
Easer Egg Roll brings thousands to White House