Tim Lincecum stayed sharp until getting hit in the leg by Chase Utley's bounding bat and the San Francisco Giants ended Philadelphia's season-high nine-game winning streak, tagging Roy Oswalt and beating the Phillies 3-1 Sunday.