Ginobili's clutch foul shots capped a comeback that saw the Spurs erase a 14-point deficit in the third quarter and go on to snap a seven-game losing streak in Portland that began in 2007-08.
Tim Duncan provided 22 points and nine boards for the Spurs. Ginobili finished with 17 points.
The Trail Blazers, meanwhile, dropped a third straight despite a career-high 33 points from Nicolas Batum.
LaMarcus Aldridge notched 29 points for Portland.