Rivers' three capped a wild rally for the Blue Devils, who trailed by 10 points with about 2 1/2 minutes left.
"We fought like crazy to stay close," Duke coach Mike Krzyzewski said. "And then in the last couple of minutes, we got hot."
Harrison Barnes scored 25 points for the Tar Heels (20-4, 7-2), while Zeller finished with 23 points and 11 rebounds. But Zeller missed a free throw with 13.9 seconds left, setting up Rivers' winning shot.
It was a finish befitting the rivalry, from Rivers' shot to Barnes' second-half surge to a strange play in which Zeller accidentally batted the ball into the Duke basket on a rebound attempt, bringing the Blue Devils within a point with 14.2 seconds left.
From the start, the Blue Devils seemed determined to rely on the three-point shot to offset the Tar Heels' dominance inside. They hit plenty early and led by eight in the first half, then cooled off as the Tar Heels charged out of halftime to take control and lead by 13 points.
In the end, however, the Blue Devils' shooters warmed up just in time to stop North Carolina's school-record 31-game home winning streak.
First Seth Curry drained a three that made it 82-78 with 1:48 left. Then Ryan Kelly followed with a jumper off his own missed three that closed the gap to 82-80. Then, after Zeller hit a free throw, Kelly launched a long shot that appeared to be a three over John Henson. As the ball was falling short of the rim, Zeller tried for the rebound but accidentally deflected the ball up and into the basket to cut the deficit to 83-82.
In other games *
At Syracuse, Kris Joseph scored a career-high 29 points, hitting a go-ahead three-pointer in the final minute of overtime, and the No. 2 Orange (24-1, 11-1 Big East) beat No. 12 Georgetown, 64-61, to give coach Jim Boeheim his 880th career win. He took sole possession of third place all-time in Division I, one more than North Carolina's Dean Smith.
Ottor Porter led the Hoyas (18-5, 8-4) with 14 points in the 87th meeting between these two heated rivals, a series that Syracuse leads, 48-39. With the Orange's impending move to the ACC, it might have been the last time the teams meet as Big East foes in the Carrier Dome.
* At Boston College, Jordan Daniels scored a career-high 19 points to lead the Eagles (8-16, 3-7 ACC), 64-60, over No. 15 Florida State (16-7, 7-2), which was led by Michael Snaer's 16 points.
* At Baylor, Jeff Withey scored a career-high 25 points and No. 7 Kansas (19-5, 9-2 Big 12) beat the No. 6 Bears, 68-54. Baylor (21-3, 8-3) was led by Pierre Jackson's 19 points.
* At Michigan State, Draymond Green had 23 points and 12 rebounds to help the No. 11 Spartans (19-5, 8-3 Big Ten) beat Penn State, 77-57. The Lions (10-15, 2-10) were led by Tim Frazier's 19 points.
* At Nebraska, Zack Novak had 14 points to surpass 1,000 for his career and No. 22 Michigan (18-7, 8-4) beat the Cornhuskers, 62-46.
* At Virginia, Miken Scott's 19 points led the No. 19 Cavaliers (19-4, 6-3 ACC) over Wake Forest, 68-44.
* Jeff Reynolds, whose approached to coaching was seen as sapping the enthusiasm from his players, was fired as coach at Air Force. Assistant Dave Pilipovich was named interim coach.
* Junior guard Malik Stith has withdrawn from St. John's basketball team, citing personal reasons, but will remain in school.
* Connecticut has proposed reducing the number of games it will play next season from 27 to 23 if the NCAA grants a waiver to allow the Huskies to play in the 2013 NCAA Tournament. The school currently would be barred for having years of below-standard academic results.
* Two men suing Syracuse and head coach Jim Boeheim for defamation connected to the sexual-abuse investigation of fired assistant Bernie Fine are only out to generate salacious headlines, lawyers for the university and coach Jim Boeheim said. Former ball boys Bobby Davis and Michael Lang, who allege they were molested by Fine, sued Boeheim after he blasted their allegations.