Nori Aoki had two RBIs and Casey McGehee had three hits and drove in a run for the Giants, who won their fourth straight at home and eighth of 12 overall.
Hudson (1-2) retired the first 10 batters he faced and gave up three runs, two hits and two walks in eight-plus innings. He struck out three.
Hudson walked Kole Calhoun in the fourth, and Calhoun was then caught stealing. Hudson also walked the last batter he faced, pinch-hitter Colin Cowgill to open the ninth.
Casilla then got the last out for his seventh save when Matt Joyce's single hit pinch-runner Taylor Featherston between first and second.
Hector Santiago (2-2) allowed four runs on nine hits in his five innings of work.
Crawford's homer was just the second Santiago has allowed to a left-hander since joining the Angels, a span of 188 at bats. Texas' Shin-Soo Choo connected against Santiago exactly a year ago.