Swisher's hit was one of just three for the Indians, who had lost two in a row.
Justin Masterson (3-0) went the distance for Cleveland, giving up five hits and a walk. He has surrendered just one run in 22 innings this season for an ERA of 0.41.
Bourn took third on a ground out by Asdrubal Cabrera, after which Jason Kipnis was walked intentionally.
Swisher hit Crain's first pitch to right to bring home Bourn.
Chicago starter Jose Quintana allowed a lone hit with seven strikeouts in seven scoreless innings.