Sean McGonagill added 14 points and Halpern finished with eight. Sullivan, who also had six steals, became the 26th Brown player to score 1,000 career points (1,007) and tied the Bears' record for career games played with 115.
Brown (12-14, 6-6) trailed 31-20 at halftime but rallied to tie it 53-all on a McGonagill jumper with 4:19 left. Columbia (12-14, 4-8) then missed its next two shots and two free throws, as Brown went up by four, 57-53, but converted five shots from the charity stripe over the ensuing 2 minutes to knot it at 58.
The Bears called a timeout and Halpern came off the bench to sink the game-winner.
Mike Krzyzewski says he has good reason to be excited for next season thanks to a combination of Duke's incoming freshmen and a core of experienced upperclassmen.
Georgia guard Juwan Parker has been awarded a medical redshirt, leaving him with two years of eligibility, after missing the 2015-16 season with a partially torn Achilles tendon.
Forward Trevon Bluiett has withdrawn from consideration from the NBA draft and will return to Xavier for his junior season.