With the Blazers trailing by two points, Portland's Damian Lillard missed a driving layup with 0.9 seconds left. Evan Turner rebounded the ball and heaved it in the air after time expired.
Sixers rookie Michael Carter-Williams lay in pain on the court at the finish after absorbing an elbow to the head. He was undergoing concussion tests after the game.
Thaddeus Young led all scorers with 30 points. Turner finished with 23 points and seven rebounds.
Turner's final two points came on a pair of foul shots to give the Sixers a 101-97 cushion 14.3 seconds left.
LaMarcus Aldridge led Portland with 29 points and 14 rebounds.
The Blazers (26-8) made a season-low three three-pointers after making 21 in the their first encounter with the Sixers in December.
The Sixers knew going in this was by far the stiffest challenge on their five-game West Coast trip.
They also knew it would be more of a barometer of where they stood compared with their victories over the struggling Lakers, Nuggets, and Kings.
The Blazers entered Saturday's game tops in the league in three-point percentage (40.5) and three-pointers per game (10.6). Portland was second in three-point attempts per game (21.6).
The Sixers had bad memories of their first meeting with Portland on Dec. 14 at the Wells Fargo Center.
The Blazers made a franchise-record 21 three-pointers in a 139-105 rout of the Sixers.
"They are a lot better than what people think," Tony Wroten said of the Blazers before the game. "They embarrassed us with all three-pointers. . . .
"In order for us to win, we are going to have to defend the three, because that's what they do best."
The Sixers knew the starting point would be playing solid transition defense. They also realized they would have to be on point with their pick-and-roll defense.
They did those things fine early on, and they also were hot from the field.
The Sixers made seven of their first eight shots en route to taking a commanding 16-2 lead. After leading by as many as 16 points, they maintained a double-digit lead until Mo Williams' foul shot got the Blazers within 39-30 with 7 minutes, 26 seconds left in the half.
The Blazers took their first lead at 49-48 on Aldridge's 18-foot jumper with 1:31 left before intermission. But the Sixers went into the locker room up, 52-50.