RELATED: Race results | Series standings | Detailed breakdown

LONG POND, Pa. — With a dramatic last-lap pass — the first of the season in the NASCAR XFINITY Series — Brad Keselowski won Saturday’s Pocono Green 250 at Pocono Raceway, ending a 46-race drought for the No. 22 Team Penske Ford.

Keselowski swept the stages in the 100-lap event but couldn’t get past leader Kyle Larson until he reached the Long Pond straightaway on the final circuit. Keselowski powered off the first turn, down-shifted and blew past Larson before the cars reached the Tunnel Turn.

Justin Allgaier followed Keselowski past Larson and finished second, .615 seconds behind the race winner. Larson came home third, followed by Elliott Sadler and Daniel Suarez.

WATCH: Blaney interviews Keselowski in Victory Lane

Keselowski’s victory didn’t come without a fight. On a restart with 16 laps left, after caution for Brandon Jones’ blown left rear tire and frontstetch wreck on Lap 78, Keselowski was on the inside of the front row, taking the green flag beside race leader Cole Custer.

A push from Elliott Sadler got Keselowski to the front, but Sadler continued the shove into Turn 1. Keselowski sailed high in the corner, narrowly keeping the no. 22 Mustang off the wall.

“I got a good push, but the push didn’t stop, and I found myself in the third lane in Turn 1, which is somewhere you don’t want to be,” said Keselowski, who fell back to 13th in the running order. “I got down there and my rear tires were off the ground and went straight, trying not to back it into the wall. With fewer than 16 laps to get back to the front, Keselowski began to bull his way through the field. He split the two cars of Brendan Gaughan and polesitter Kyle Benjamin, bouncing off both in the process.

By Lap 97 he had reeled in Allgaier, and when the No. 7 Chevrolet slipped slightly, Keselowski charged past and took off after Larson. Then came the winning pass in Turn 1.

“I drove by a bunch of cars and just pushed as hard as I could,” Keselowski said of his closing. “It looked like Kyle’s car was struggling just a little bit and he was getting tight in the middle, loose off. He was doing a really good job holding it low so I couldn’t get a run. Just on the last lap, I got on his bumper and got him loose.

“He was trying to do the side draft thing down the backstretch and all the way down the apron. That had to look pretty cool. Hell of a race. Really happy for the 22 team. It’s been a while.”

RACE RECAP: Catch up on the action in 77 seconds

When Keselowski dropped back on the final restart, Larson found himself in a surprising position.

“I was not expecting to get the lead on that restart,” Larson said. “Elliott gave Brad too good a push in Turn 1, and then Elliott overshot the Tunnel Turn.”

After charging past Sadler on the restart lap, Larson protected his position until the first corner of the last lap.

“I couldn’t get back to the gas as quick as I wanted to — my car was just plowing — and Brad got a great run off the corner,” Larson said.

Allgaier was disappointed with second place, but he had the consolation of assuming the series lead by one point over Sadler. Those two drivers are light years ahead of their JR Motorsports teammate, William Byron, who stands third, 62 points behind Allgaier.

On the eve of his Monster Energy NASCAR Cup Series debut in the No. 43 Richard Petty Motorsports Ford, Darrell “Bubba” Wallace Jr. finished 11th in his last scheduled ride in the No. 6 Roush Fenway Racing Mustang.

Wallace finishes his stint with RFR fourth in the series standings, 88 points behind the leader.

Benjamin led 28 laps in his second NASCAR XFINITY Series race – one fewer than Keselowski’s 29 – but fell back to 16th at the finish after the late contact with the eventual racer winner.