Vernon Davis caught a touchdown pass for the fifth straight game and Michael Crabtree scored his first TD since returning from injury to help the San Francisco 49ers beat the Tampa Bay Buccaneers 33-14 on Sunday.