SANTA CLARA Calif. -- Running back Jacquizz Rodgers rushed for 156 yards Jameis Winston threw three touchdown passes and the Tampa Bay Buccaneers came from behind to defeat the San Francisco 49ers 34-17 at Levi's Stadium on Sunday.

Wide receiver Mike Evans caught eight passes for 96 yards and two touchdowns for the Buccaneers (3-3) who won their second straight game. The Bucs were without injured wide receiver Vincent Jackson (knee) but wideout Russell Shepard caught five passes for 77 yards and a score.

Quarterback Colin Kaepernick started his second straight game and threw for 143 yards and one touchdown for the 49ers (1-6) who lost their sixth straight game. Kaepernick rushed for a team-high 84 yards on nine carries. He completed 16 of 34 passes was intercepted once and lost a fumble.

Rodgers made his second straight start in place of injured running back Doug Martin who missed his fourth consecutive game with a hamstring injury. Rodgers ran for 101 yards in a victory against the Carolina Panthers on Oct. 10.

The Bucs rushed for 249 yards against San Francisco as rookie Peyton Barber added 84 yards and a touchdown on 12 carries.

The 49ers built a 14-0 first quarter lead but Tampa Bay stormed back to take a 17-14 edge by halftime and kept extending its lead in the third quarter.

The Bucs made it 20-14 on Roberto Aguayo's 37-yard field goal with 10:57 left in the third quarter five plays after recovering a fumbled punt by 49ers rookie Aaron Burbridge. Jeremy Kerley had signaled for a fair catch but Burbridge ran into him and fumbled.

The Bucs capitalized on another turnover to increase their lead to 27-14 on Winston's 5-yard pass to Evans with 6:24 remaining in the third quarter. Bucs cornerback Jude Adjei-Brimah forced a Kaepernick fumble with a blind-side sack and defensive tackle Gerald McCoy recovered at the 49ers' 27. Six plays later Winston found Evans in the back of the end zone.

San Francisco cut the Bucs' lead to 27-17 with 8:08 left to play on Phil Dawson's 28-yard field goal but Barber scored on a 44-yard run with 4:42 remaining.

San Francisco opened the game with a five-play 75-yard touchdown drive with Mike Davis scoring on a 4-yard run. Davis started in place of Carlos Hyde who was inactive with a shoulder injury.

One play after 49ers linebacker Gerald Hodges intercepted a Winston pass Kaepernick scrambled to his left and fired a 17-yard touchdown pass to running back Shaun Draughn putting the 49ers ahead 14-0 with eight seconds left in the first quarter.

Tampa Bay answered with an 11-play 94-yard touchdown drive capped by Winston's 4-yard pass to Evans with 10:14 left in the half. The Bucs cut San Francisco's lead to 14-10 on Aguayo's 38-yard field goal set up by safety Bradley McDougald's interception and Rodgers' 45 yard run.

Winston threw a 19-yard touchdown pass to Sheppard with 48 seconds left in the first half.

NOTES: Buccaneers rookie DE DaVonte Lambert started in place of injured DE Robert Ayers Jr. (ankle). ... Buccaneers DT Akeem Spence started in place of injured DT Clinton McDonald (hamstring). ... 49ers starting DE Arik Armstead left the game midway through the third quarter with a shoulder injury and did not return. ... 49ers starting OLB Aaron Lynch (ankle) and backup CB Rashard Robinson (knee) were injured late in the third quarter and did not return.