"Last game, the way I played was one of my top-five worst games of my career," said Pierce, who had eight points against the Suns. "I wanted to come out and focus better, and shots were there and I was able to knock them down."
The Celtics trailed by as many as 17 points in the first half, but gained control in the second when the Blazers struggled without guard Brandon Roy.
Roy, an All-Star reserve and last season's Rookie of the Year, left for the locker room in the third quarter. The team said he had aggravated a right ankle sprain.
"It's pretty sore. I'm going to get an MRI tonight," Roy said. "It's something that's been bothering me since the Dallas game before the break."
Pierce's pull-up jumper put the Celtics up 88-75. James Posey's 3-pointer and dunk made it 96-77 for the Celtics, completing a 36-point turnaround.
Ray Allen added 19 points for the Celtics (42-12), who have the NBA's best record but had struggled on their current road trip against the Western Conference. The trip concludes Monday night against the Los Angeles Clippers.
"We just had to do what we know we were capable of doing," Allen said.
Travis Outlaw led the Blazers (29-27) with 24 points. Roy had nine points before he left.
The Blazers, coming off a 99-87 loss at Seattle on Friday, have dropped seven of their last eight and haven't defeated a team with a winning record since Jan. 3.
"We are upset that we are losing but we've been in this situation before, at the beginning of the year when we were losing tons of games," guard Steve Blake said. "We just have to find a way to fight through it."
The Blazers used a 12-2 run in the first quarter to jump out to a 26-12 lead, capped by consecutive 3-pointers from Blake and Martell Webster, and LaMarcus Aldridge's long jumper.
Portland led 32-16 at the end of the quarter, outrebounding the Celtics 13-4.
The Blazers extended their lead to 46-29 on Joel Przybilla's dunk midway through the second quarter.
With a 15-4 run, the Celtics whittled Portland's lead to 50-44 but the Blazers held on for a 54-47 lead at the half. Outlaw led all scorers with 15 points.
Allen made just two of three shots from the floor in the first half, and had five points. But his 3-pointer early in the second half narrowed it to 54-50, before Rajon Rondo's jumper and Kendrick Perkins' layup tied it at 54.
Pierce first put Boston ahead 59-56 with a 3-pointer, but Jarrett Jack answered with his own 3-pointer for Portland.
Boston made 14 of 21 3-point attempts.
"We've been struggling," Pierce said. "Last game our defense finally came back, but the offense just wasn't there. But tonight, we've got both ends of the court in gear."
Allen and Pierce each made four of five 3-point attempts. ... Boston has a six-game winning streak against the Blazers. ... Portland didn't play Channing Frye, preferring to go with Przybilla and Raef LaFrentz and their size against Boston. ... After a poor start, the Celtics outrebounded Portland 37-31. ... Roy speculated that he may need up to two weeks of rest, although he had not had his MRI. "You could see he wasn't himself tonight and that clearly hurt Portland," Boston coach Doc Rivers said. "Because he's not just a scorer, he does everything for them." ... Boston scored 65 points in the second half.