Busch, who won three of the final five races last season and finished second last week at the Daytona 500, took the lead with 82 laps to go and appeared on the way to his fifth career Winston Cup victory.
But on lap 383, Jarrett put his Ford Taurus underneath Busch's Ford as the two began a side-by-side, one-lap duel.
Jarrett ended up with the lead, but with four laps left, Busch took advantage of a crowded race track filled with lapped cars to regain the lead.
On lap 391, with two laps to go, Jarrett again passed Busch in the fourth turn and held on for his 31st Winston Cup win.
"I didn't know the 97 had come back," Jarrett said of Busch. "I didn't know who all was passing me at the end. I was trying to keep it straight. But if it hadn't been for my teammate, Elliott Sadler, coming down here and testing, we wouldn't be here today.
"It was a heck of a race. You know what kind of competitor Kurt Busch is. He doesn't like to give up the lead. Then when he came by me again, I didn't realize that was him."
Jarrett won with an average speed of 117.848 miles per hour. He kept Busch from becoming the first driver in five years to win five times in a seven-race span. Nevertheless, Busch took over the early lead in the points standings from Daytona 500 winner Michael Waltrip.
"It seems like this is the second verse, same as the first," said Busch, who started 27th. "I'm real proud of the way Dale Jarrett and I raced. That was a lot of fun. That should really get you pumped up."
The day was marred when three of the eight members of the U.S. Army Special Operations Command Parachute Team veered out of control due to high winds and were injured during a pre-race show.
One of the injured was taken by helicopter to Carolinas Medical Center in Charlotte while the other two were taken by ambulance to Womack Army Hospital in Fayetteville. The other five team members were treated and released at the infield care center.
Once the race started, the poor-handling Chevrolet Monte Carlo of Dale Earnhardt Jr. created more mayhem on the track as he was involved in four of the seven caution periods. At one point, he told his team on the radio that he was unable to turn the car in the corners, 35 laps after a pit stop.
A crowd well below capacity showed up under sunny but windy conditions. NASCAR officials said in the offseason that North Carolina Speedway could lose one of its two dates on the Winston Cup schedule to California Speedway.
Both North Carolina Speedway and California Speedway are owned by the International Speedway Corporation (ISC).