Brandon Roy's jumper with 3:46 left in overtime gave the Blazers a 107-106 lead, but Kirk Hinrich answered for the Bulls with a driving layup, Deng made a fadeaway jumper, and Joakim Noah found Taj Gibson for a layup to put the Bulls up 112-107 with 2:09 remaining.
Portland came back and Roy tried for the lead but missed a 3-pointer with 5 seconds left. Deng finished on the other end to seal the game for the Bulls with a dunk.
The Bulls have won six of seven since the All-Star break.
LaMarcus Aldridge finished with a season-high 32 points and Roy added 23 for Portland.
The Bulls trailed 95-90 after Marcus Camby's dunk with 5:56 left in the fourth quarter, but they came back after Deng hit a jumper and made a pair of free throws. Rose then gave the Bulls a 96-95 lead with a layup.
Roy's jumper over Deng in the lane tied it with 16 seconds left in the fourth quarter. Rose had a chance to win the game in regulation but missed a layup with Aldridge contesting as the buzzer sounded.
Aldridge was the second overall pick in the 2006 draft by the Bulls, but the Bulls turned around and traded him for the rights of Portland's fourth pick in that year's draft, which ended up being Tyrus Thomas. The Bulls traded Thomas before last week's trade deadline to help clear cap space.
Deng, who scored a season-high 31 points for the Bulls in Wednesday's win over Indiana, played despite a swollen left knee.