Au début de la guerre de Sécession, il est stationné en Californie. Il est promu capitaine le . Il est affecté au renforcement des défenses du port de Boston et au recrutement d'un régiment d'ingénieurs. Recherchant à se rapprocher des zones de combat, il contacte le major général Halleck qui commande le théâtre occidental. Il est promu lieutenant colonel et aide-de-camp auprès du major général Halleck le puis colonel. Face aux rumeurs d'alcoolisme de Grant, Halleck envoie le lieutenant-colonel McPherson auprès de Grant pour qu'il garde un œil sur ce dernier. Il devient chef des ingénieurs auprès du major général Grant. Il participe à la capture des forts Henry et Donelson en . Le général Grant mentionne le capitaine McPherson pour sa participation et le recommande pour un brevet de commandant. Il participe à la bataille de Shiloh en . Ses actions lui valent le respect de Grant et il parvient à maintenir de bonnes relations avec Grant et Halleck. Il est promu colonel et aide-de-camp le .