Playing with the roof open for just the fifth time this season Monday — and the first time since April 18 — the Marlins snapped their season-long six-game losing streak with a 4-1 win against the Red Sox behind a strong start from Josh Johnson in front of 32,562 at Marlins Park.