It was Portland's ninth consecutive victory.
The Bulls not only lost their second in a row but saw point guard Derrick Rose limp to the sidelines during the third period with what was initially diagnosed as a hyper-extended right knee.
Rose appeared in pain as he sat on the bench while being examined by team trainers. He then headed to the locker room and did not return.
Chicago had a 95-91 lead with 2:44 to play after Kirk Hinrich made a layup, but it was all Portland after that.
A 3-pointer by Nicolas Batum and Matthews' jumper with 1:39 left gave the Trail Blazers the lead for good. Portland did not add to its advantage until LaMarcus Aldridge hit two free throws with eight seconds remaining and Luol Deng then missed a 3-point try for the Bulls.
Matthews scored 28 points to lead the Trail Blazers and Damian Lillard had 20.
Rose was having his best game of the season when he left the court, having scored 20 points. Rose missed all of last season following surgery on his left knee.