Washington went 1-for-3 on the power play, and Boston was 0-for-5.
Oshie made it 2-1 at 8:05 with a beautiful move. He split defensemen McAvoy and Connor Clifton, slid the puck around Clifton and lifted a backhand past Halak.
"I haven't seen it yet, so I don't know," Oshie said when asked about the move. "It felt pretty lucky for the puck to squeak through there. You just try to put it upstairs with a couple sticks on you, so happy it went in."
Sean Kuraly tied it 2-2 when he deflected Torey Krug's shot from the point at 2:53 of the third period, but Carlson scored 1:49 later.
"We were right there," Bruins coach Bruce Cassidy said. "We score, we get a break finally, and they come down, what, a shift later? Simple D-zone coverage. We don't sort it out quick enough. Bang, it's in the net. And after that, now you're chasing it again."