Gordon scored 15 of his 33 points in the final quarter and the Bulls beat the Portland Trail Blazers 88-86 Saturday night, winning on the road for the second night in a row.
Kirk Hinrich had 17 points, six rebounds and five assists, and Luol Deng had 14 points and 10 rebounds for the Bulls. Chris Duhon finished with 15 points and Gordon was 4-of-4 from the foul line in the final 22 seconds.
Chicago won despite scoring just 12 points in the first quarter and 14 in the third.
"It was a crazy game from start to finish," Gordon said. "We had just 12 points in the first quarter but our defense was solid. We did a really good job defending in the entire first half. Then in the third, they threw the first punch and I thought we did a good job of not panicking."
The Blazers scored only 28 points in the first half, their lowest output of the season, and tied another season low with a 12-point second quarter.
Jack tied the game at 82 with a lean-in jumper with 32 seconds left, but Gordon was fouled on a drive and made two free throws.
Roy drove to the hoop for the Blazers and threw up a shot, but it bounced away and no foul was called.
Duhon got the rebound, was fouled and made both shots to give the Bulls a four-point lead with 12 seconds left.
Jack converted a quick layup for Portland, but Gordon, an 87 percent foul shooter, made two more free throws with 5.9 seconds left to send the Bulls to their fourth win in five games against Portland.
"They played with attitude," Roy said. "They were pushing us around on the court. ... They didn't do anything special, they just played extra hard."
The Bulls started slowly following a victory at Seattle on Friday night, missing 12 of their first 15 shots and committing seven turnovers in the first 10 minutes as Portland took a 16-8 lead.
But two 3-pointers from Duhon sent the Bulls off and running. The Blazers missed seven straight shots and Chicago took the lead with a 12-0 run.
Hinrich had 15 points in the second quarter, three more than the Blazers. The Blazers shot just 30 percent in the first half and Chicago led 45-28 at the break.
"We're too slow starting games," Blazers coach Nate McMillan said. "We can't wait for someone to bust us in the mouth before we respond."
The Blazers opened the third quarter with a 26-9 run, making 11 of their first 13 shots. Randolph made a 25-footer with 3:55 left to cut the lead to 53-52, and Juan Dixon tied the game at 54 with a jumper.
The Bulls clung to a 59-56 lead heading into the final period.
Gordon was 11-of-22 from the field and 8-of-9 from the line. He hit four shots early in the fourth, including back-to-back 3-pointers to make it 74-65. Deng converted a layup to run the lead to 11.
But the Blazers went on a 9-0 run, with Randolph fighting for a rebound and put-back of his miss to cut the lead to two with 4:04 left.
The Bulls beat Portland for only the second time in their last eight games at the Rose Garden.
Chicago is a 2-1 with four games left on its road trip, improving its record to 8-14 away from the United Center.
"Most of them have been crazy like this," coach Scott Skiles said. "You just have to find a way to win and the last two nights we have."
Roy took an elbow above his left eye from P.J. Brown very early in the game, opening up a cut that required five stitches. He re-entered at the beginning of the second quarter with a bandage over his eye. ... Playing for the second straight night back from a bruised knee, C Ben Wallace was scoreless with 12 rebounds for Chicago. ... Dixon had 11 points off the bench for Portland on 4-of-12 shooting.
The Phoenix Suns selected Croatian forward Dragan Bender with the No. 4 overall pick of the 2016 NBA draft on Thursday night.
With the second pick in the NBA draft, the Lakers take Brandon Ingram.
The Boston Celtics selected California forward Jaylen Brown with the No. 3 overall pick of the 2016 NBA draft on Thursday night.