LONG POND, Pa. -

The win in the Pocono 400 NASCAR Sprint Cup Series race at Pocono Raceway on Sunday came down to a two-driver battle between Dale Earnhardt Jr. and Brad Keselowski in the final laps.

It was a battle won by Earnhardt, who claimed his second win of the season and his first career win at Pocono.

"Well, he (Keselowski) didn't want to let me by, but I don't know if his motor was going to make it. That is unfortunate for him," Earnhardt said. "He had me beat. I couldn't get to him, just real hard to pass here. But I have lost some in some strange ways, so it feels good to win one like that."

Earnhardt also had debris on the grille of his car but didn't consider an attempt to clear it off so late in the race.

"My tempereatures were going up, but I guess not as bad as Brad's," Earnhardt said. "I had a little bit of temperature, but nothing to worry about. We definitely had some red gauges, but they were still within good reason to stand on it and give it hell."

Keselowski restarted with the lead on the final restart of the race with 12 laps to go, with Earnhardt alongside in second. They pulled away from the rest of the race field to battle for the victory. Keselowski ran high with five laps remaining to get behind Danica Patrick in an attempt to get debris off the grille of his car, and Earnhardt took advantage by taking the lead and pulling away, somewhat.

"You know, we were just running really hot," Keselowski said, "and the motor was going to blow up so I had to do something, so I tried to follow the 10 (Patrick) down in the corner to get the debris off and I just checked up too much. I thought I had more room than I did."

Kurt Busch finished third, Denny Hamlin was fourth and Kyle Larson rounded out the top-five.

Keselowski dominated the 160-lap race. He led 70 laps by the time Tony Stewart had taken the lead on a restart following the third caution of the race that came out on lap 71.

"The team did a heck of a job. I just messed up a little bit there," Keselowski said, referring to losing the lead late in the race. "We had a really, really good car. It was really a flawless day other than my mess-up there."

The Stewart-Haas Racing trio of Stewart, Kevin Harvick and Busch ran first through third, followed by Team Penske teammates Keselowski and Joey Logano for awhile until pit strategies began to vary through green cycles for some and a handful of yellow flags.

Harvick, Stewart and Keselowski cycled back up to the top-three when some drivers headed down pit road with just under 50-laps remaining. But Stewart and Harvick each encountered problems soon after. Stewart was hit with a pit road speeding penalty and Harvick was forced to make an unscheduled pit stop for a cut tire. Logano blew an engine during the final caution of the race with 17 laps remaining.

"Never had one do that under caution before," Logano said. "All of a sudden, it started sounding weird and lost power."

Keselowski was back up front for a restart with 40 laps remaining, and Earnhardt restarted second. They ran first and second the rest of the way. Busch moved up to third on a restart that followed a caution that came out with just over 20 laps to go.

NOTES: Dale Earnhardt Jr. became the fourth driver to post two wins, so far, this season. Joey Logano, Kevin Harvick, and Jimmie Johnson are the other three. ... Brad Keselowski also has one career win at Pocono, coming in 2011, days after he suffered a broken ankle in a testing crash in Atlanta. ... Keselowski had only led 45 total laps in all his previous starts at Pocono. ... This season marks the 40th year of NASCAR racing at Pocono. ... Kyle Larson dominated and won the ARCA Racing Series race at Pocono Raceway on Saturday. ... Jeff Gordon is the all-time winningest NASCAR driver at Pocono with six victories.