With the game tied 4-4 in the seventh, Royals reliever Tim Collins (2-3) issued walks to Asdrubal Cabrera and Jason Kipnis to start the frame.
Aaron Crow relieved and handed out another free pass to Nick Swisher (3-for-4), loading the bases. Santana followed with sacrifice fly, putting the Indians ahead to stay.
After Mark Reynolds struck out, Giambi rifled an 0-1 pitch into the right field corner, chasing home Kipnis with what turned out to the winning run.
Cabrera finished with two RBI for the Indians, who stayed hot to maintain their half-game lead over Detroit atop the American League Central.
Cody Allen (3-0) notched the decision and Chris Perez picked up his eighth save despite yielding a hit and a walk in the ninth.
Alex Gordon went 2-for-4 with a grand slam for the Royals.
Megyn Kelly: Santa Claus and Jesus are both white men
Wisconsin business offering 'therapeutic cuddling' forced to close