8 мая 1858 года Главное управление путей сообщения выдало разрешение на постройку железной дороги от Москвы до Троице-Сергиева Посада протяженностью 66 верст. В 1862 году Московско-Троицкая железная дорога введена в действие. В 1866-1868 годах ведется обсуждение строительства железной дороги от Сергиева Посада до Ярославля. В 1868 году начались строительные работы.
Тогда же началось возведение Московского вокзала при железнодорожной станции «Ярославль» вблизи Московской заставы. К 1 января 1870 года работы по строительству дороги и здания вокзала были закончены. Первый поезд из Москвы пришёл на вокзал 7 февраля 1870 года.
После открытия Московской-Ярославской железной дороги принято решение о продлении железнодорожной ветки от Ярославля до Костромы. 17 декабря 1887 году состоялось торжественное открытие движения по Ярославско-Костромской железной дороге. Грузооборот и пассажирский поток на станции Ярославль увеличился.
После строительства в 1913 году железнодорожного моста через Волгу станция «Ярославль» и Московский вокзал стали принимать составы из Вологды. До строительства в 1952 году здания вокзала на станции Ярославль-Главный Московский вокзал был главным вокзалом города, а его станция одним из основных узлов Северной железной дороги..
В 2003 году вокзал реконструирован с сохранением прежнего фасада и интерьеров.