BOSTON — Justin Upton hit a grand slam off the right-field foul pole, Nicholas Castellanos hit a two-run homer and the Detroit Tigers averted a sweep with an 8-3 victory over the Boston Red Sox on Sunday night.

The Tigers halted a three-game losing streak in a contest that lasted 4 hours, 6 minutes. Boston had won 13 of 19 overall and seven of eight in Fenway Park.

Daniel Norris (3-4) held Boston to two runs over five innings, giving up seven hits with three walks and six strikeouts.

Drew Pomeranz (6-4) was tagged for six runs and eight hits in 41/3 innings, snapping his career-best three-game winning streak.

Hanley Ramirez had an RBI single and Dustin Pedroia hit a run-scoring double for Boston.

The first six innings took just over three hours, sending a large portion of fans streaming for the exits after the final out of the sixth.

The Red Sox had 12 hits and drew six walks but stranded 12 men on base.