ANAHEIM, Calif. — Rick Porcello gave the Boston Red Sox just what they needed.

Porcello pitched a five-hitter for his first complete game since 2014, Xander Bogaerts homered and drove in three runs, and the Red Sox beat the Los Angeles Angels 6-2 on Friday night, snapping a four-game losing streak.

"Twenty-four hours ago, we were probably in a much different place mentally," Red Sox manager John Farrell said. "He's our stopper."

Porcello (14-2) struck out three while winning his sixth straight start — also for the first time since 2014 — and eighth consecutive decision. He became the majors' fourth 14-game winner, joining Baltimore's Chris Tillman, the Chicago White Sox's Chris Sale, and Washington's Stephen Strasburg.

"He had just very good command the entire night," Farrell said. "He stayed ahead in the count, pitched to all quadrants of the strike zone, he used his four-seamer in to some powerful right hitters in that lineup. ... He just continued to pitch at a very good pace throughout the game tonight and a very strong effort on his part."

Porcello hasn't lost since May 17 and he's pitched five or more innings in 29 straight starts dating back to last Aug. 26. His timing and command have allowed him to establish consistency this season.

"It's what I've been trying to do," Porcello said. "I think getting ahead of hitters has been the biggest thing and tonight, that was probably one of my better games of establishing strike one and going from there. Limiting baserunners and not giving free passes is huge and that's what I have to do to give us a chance."

Jackie Bradley Jr. also homered for the 17th time this season.

Tim Lincecum (3-4) continued to struggle in his comeback attempt, giving up four earned runs and five hits with four walks. He was removed after giving up Bradley's homer — his 16th — leading off the sixth.

"The first 30 pitches Tim threw, I thought it was pretty obvious he had problems with his delivery and his release point," Angels manager Mike Scioscia said. "He couldn't get his fastball into the zone. Then he went through some stretches when his fastball was in sync and he threw some much better pitches."

Lincecum has surrendered four or more runs in five of eight starts this season but the Angels will continue to give him a chance to fix what ails him as Scioscia said his spot in the rotation is safe.

"He knows what he needs to do," Scioscia said. "He's working hard to get there. Hopefully, we start to see some steps forward here."

Jhoulys Chacin relieved Lincecum and gave up two earned runs through four innings as the Angels snapped a season-high seven-game home winning streak.

The Angels took a 2-0 lead in the bottom of the second but after getting one out in the top of the third, Lincecum allowed the next five batters to reach. David Ortiz tied the game with a single to left that scored Bogaerts.

Lincecum then loaded the bases in the fourth and Aaron Hill scored on Mookie Betts' sacrifice fly to give Boston a lead. Bradley's 16th home run made it 4-2.

"It's just not there," Lincecum said. "I felt like I battled myself every inning. I'm trying to find that fifth or sixth gear that I can make good pitches with. I don't know. I keep battling myself and making it really hard to get outs."

TRAINER'S ROOM

Red Sox: RHP Craig Kimbrel will make a rehab appearance for Triple-A Pawtucket on Saturday. He'll go one inning and the team will check in with him on Sunday to determine the next course of action. Kimbrel was placed on the 15-day disabled list on July 9 with a medial meniscus tear in his left knee.

Angels: RHP Garrett Richards will undergo an examination on Wednesday to determine how successful stem cell treatments have been on his torn ulnar collateral ligament. ... RHP Nick Tropeano, who has also been shut down for the season with a torn UCL, had a second opinion this week but has not yet determined his course of action.

UP NEXT

Red Sox: LHP Drew Pomeranz will try again for his first win with Boston. Pomeranz is 0-1 with a 7.00 ERA in two starts with the Red Sox and 1-2 with a 4.42 ERA in three appearances against Los Angeles.

Angels: LHP Hector Santiago looks to continue his career-high five-game winning streak. Santiago is 5-0 with a 1.48 ERA in July.