Jake DeBrusk scored, and Tuukka Rask made 19 saves for the Bruins.
"Bottom line you have to be ready for Game 6," Boston center Patrice Bergeron said. "That's all we can really worry about and that's all we can focus on."
Boston captain Zdeno Chara played 16:42 with a facial injury that required the defenseman to wear a plastic jaw protector attached to his helmet. He was injured blocking a shot in the second period of Game 4.
"He was medically cleared with some warnings. He made the decision to play," Boston coach Bruce Cassidy said. "Inspirational for us, good player for us. We knew he wouldn't be 100 percent. We're happy to have him out there but it just speaks a lot to his character and his role."
Binnington made 17 saves in the first period, which ended 0-0.
"He was unbelievable in the first when we didn't really have our legs and got caught on our heels a bit," O'Reilly said. "We were able to get through when they had some really Grade A chances. He made some huge saves. We just hung on. It was huge going into the second to respond."
They did when O'Reilly gave them a 1-0 lead 55 seconds into the second, scoring off a between-the-legs pass from Zach Sanford that was delivered from behind the goal line with his back to O'Reilly.
O'Reilly also scored two goals in Game 4, a 4-2 win. He scored one goal in the previous 17 games.
"He looks energized to me, more jump in his stride out there, and he's finishing," Berube said. "He gets chances all the time, but he's finishing right now."
The Bruins thought they may have tied it at 7:00 of the third period when David Pastrnak tried to push the puck under Binnington, but the officials did not call it a goal on the ice. The Situation Room initiated a review that supported the referees' call that the puck didn't completely cross the goal line.
Perron scored 3:36 later to make it 2-0. The puck came back to him in the right circle after his attempted pass to Tyler Bozak hit Bruins defenseman Torey Krug, and Perron banked a shot off Rask's right pad.
"[O'Reilly] created a loose puck for me and I'm happy he saw me because I felt like there was going to be an opening that was going to be created if he gets it to me," Perron said. "Sure enough, he did."
The Bruins didn't feel Perron should have had the chance to score because they thought Bozak should have been called for a penalty when he took down Boston forward Noel Acciari near the left-wing half wall.
"It had a big effect on the game," Cassidy said.
Cassidy said Acciari was taken off the ice by the NHL-approved concussion spotter. Acciari didn't play the remainder of the game but afterward said he was fine and would be ready for Game 6.
"Tough pill to swallow, but the game goes on and you've just got to say, 'Next; next shift,'" Acciari said. "We battled hard. We battled back. Jake with the big goal. We came up a little short. Again, Game 6, win or go home."
DeBrusk scored on a one-timer from the right circle to make it 2-1 with 6:28 remaining. Binnington saved the last five shots he faced.