Grain size control and boundary passivation of perovskite films are the key to obtaining efficient perovskite solar cells. In order to accomplish both goals, semiconducting single-walled carbon nanotubes are added to perovskite films as additives, functioning as both the crystal growth templates and charge bridges between the perovskite grains. The resulting perovskite films display more uniform and larger crystal grains compared with conventional films owing to the long and flexible single-walled carbon nanotubes, retarding the crystal growth and functioning as the cross-linker between perovskite grains. In addition, sodium deoxycholates attached on the carbon nanotubes passivated the grain boundaries by forming Lewis adducts. Thanks to the improved quality of the photoactive layers by using semiconducting carbon nanotubes, a power conversion efficiency of 19.5% was obtained which is higher than 18.1% of reference devices with no additives.