Здание Московского вокзала было построено для нужд железной дороги, соединившей Санкт-Петербург и Москву, в 1847-1851 годах. Эта магистраль стала второй в России после ветки между столицей и Царским Селом. Железная дорога строилась восемь лет. Новая трасса стала первой двухпутной железной дорогой в России, стала на то время крупнейшим инженерным сооружением в мире.
Для конечной станции в Петербурге была выбрана окраина города - перекрёсток Невского проспекта и Лиговского канала. Первоначально станцию назвали Николаевским вокзалом, равно как и саму железную дорогу - Николаевской. Такие названия они получили по имени императора Николая I, во время правления которого велось их строительство.
Московский вокзал построен по проекту архитектора К. А. Тона при участии К. А. Желязевича. Фасад здания выполнен в стиле ренессанс. В его облике архитектор использовал мотивы ратушей западноевропейских городов. Башня с часами указывает направление главного входа.
Именно после появления Московского вокзала из перекрёстка Невского проспекта и Лиговского канала появилась Знаменская площадь (ныне площадь Восстания). Точно такое же здание было построено в Москве, на противоположном конце нового железнодорожного пути (Ленинградский вокзал).
В основном Николаевский вокзал был возведён к 1851 году, но некоторые работы производили ещё в течение следующего. Пешеходы и экипажи проезжали на территорию станции через ворота, располагавшиеся справа от торцевого корпуса. Со стороны путей находились толстые кирпичные стены с воротами для проезда поездов под шатёр.
Для пассажиров первоначально на Николаевском (Московском) вокзале удобств предусмотрено не было, тогда как для царя их устроили предостаточно. Возле царских апартаментов всегда дежурили жандармы. Всем пассажиром при входе на вокзал вменялось в обязанность снимать головные уборы.
Движение по дороге открывалось частями, по мере её строительства. Так, на участке Санкт-Петербург - Колпино поезда начали ходить уже в 1847 году. Первоначально планировалось пустить по новому пути первым царский поезд. Но затем было принято решение испытать трассу путём переброски по ней нескольких составов с войсками. В течении трёх дней в Москву были перевезены два эскадрона лейб-гвардии Кавалергардского и Конного полков, два батальона лейб-гвардии Семёновского и Преображенского полков и дивизион гвардейской артиллерии.
18 августа 1851 года в 4 утра из Николаевского (Московского) вокзала столицы в Москву отправился императорский поезд. Состоял он из девяти вагонов, ехал до Москвы 19 часов. Николай I очень боялся переезда через железнодорожные мосты, и переходил их пешком, следуя за поездом. Для обеспечения безопасности движения вдоль всего пути было расставлено несколько десятков тысяч солдат.
Первый же поезд для простых пассажиров был отправлен только 1 ноября 1851 года. Проезд на нём по тем временам был очень дорогим, не самые состоятельные пассажиры размещались в товарных вагонах, а иногда и на открытых платформах. Желающий отправиться в Москву должен был подать в полицию особое прошение и свой паспорт. После проверки личности пассажиру выдавали билет, а паспорт выдавали только после окончания поездки. Об открытии Николаевской железной дороги писала газета "Санкт-Петербургские ведомости":
Обширная площадь перед зданием Путевого двора железной дороги была заранее покрыта толпами любопытного народа. В 10 часов, т. е. за час до отправления поезда, в залах Путевого двора собралось многочисленное общество и отправляющиеся в дорогу путешественники. Вся эта толпа с участием ходила по обширным залам, любуясь великолепием и удобством помещения, расторопностью и предупредительностью служащих при дороге" [Цит. по: 1, с. 61].
Первым начальником Николаевского (Московского) вокзала стал Николай Ильич Миклухо-Маклай - отец знаменитого путешественника. Его квартира находилась в самом здании вокзала. Кроме того здесь располагались конторы служащих Московского вокзала, управление железной дороги, жилые квартиры служащих.
Пассажиропоток постепенно рос. Зал для пассажиров перестал с ним справляться, некоторые путешественники были вынуждены ждать отправления во дворе. Отсутствовали специальные помещения для багажа, его выдавали прямо на платформе. В 1869-1879 годах проводилась реконструкция Николаевского (Московского) вокзала. Был пристроен двухэтажный флигель для приёма багажа, правое крыло здания соединили с царскими покоями. Появились специальные помещения для пассажиров 1-го и 2-го классов. В 1877 году кирпичную стену со стороны путей заменили на лёгкую застеклённую арку.
Со стороны Лиговского проспекта в 1898 году было построено кирпичное здание отделения Николаевской железной дороги, перед которым в советское время образовалась площадь со стоянкой для такси.
Появлявшиеся новые технические устройства требовали новых помещений, старое здание к началу ХХ века не могло их обеспечить. В 1912 году был объявлен конкурс на проект нового здания Николаевского (Московского) вокзала. Среди участвующих в конкурсе были В. А. Щуко, И. А. Фомин, Ф. И. Лидваль. Сложность решения заключалась в том, что новый вокзал мог быть расширен только в сторону путей, Знаменская площадь к тому времени уже была сформирована. Одобрение получил проект В. А. Щуко.
Строительные работы возглавил инженер А. Богородицкий. Они начались с возведения корпуса прибытия, который должен был стать левым крылом нового вокзала. С началом первой мировой войны строительство было прервано, старое здание избежало сноса.
Приказом наркома путей сообщения Ф. Э. Дзержинского Николаевская железная дорога была переименована в Октябрьскую в 1923 году, то же название получил и вокзал. В начале 1930-х годов станция стала именоваться Московским вокзалом. В июне 1931 года от Московского вокзала отправился первый советский фирменный поезд - "Красная стрела".
Московский вокзал прекращал свою работу во время Великой отечественной войны. Отсюда отправлялись эшелоны с эвакуируемыми людьми, оборудованием заводов, экспонатами музеев. После взятия Мги немцами 29 августа 1941 года сообщение между Ленинградом и Москвой прервалось. Летом 1942 года с Московского вокзала продолжилась эвакуация ленинградцев. Поезда по соединительной ветке отвозили их до Ладожского озера. Главная магистраль была освобождена в январе 1943 года, с 10 ноября она продолжила свою работу. 20 марта 1944 года отсюда вновь отправилась "Красная стрела" [2, с. 64].
Так и не перестроенное вокзальное здание эксплуатировать становилось всё сложнее. К концу 1930-х годов оно ещё не имело центрального отопления, обогревалось дровами и углём. В 1949-1951 годах прошла реконструкция его цокольного этажа, за счёт чего полезная площадь Московского вокзала увеличилась на 2 000 кв. м. Главный вестибюль украсил лепной фриз с указанием даты открытия железной дороги и её столетнего юбилея. На потолке разместилось панно на революционные темы, созданное выпускниками Высшего художественно-промышленного училища им. В. И. Мухиной. Деревянные колонны в вестибюле заменили бетонными, облицованными серым мрамором. Этим же материалом тогда покрыли стены вестибюля.
В конце 1950-х годов к правому крылу Московского вокзала со стороны Лиговского проспекта был пристроен новый флигель со вторым вестибюлем станции метро "Площадь Восстания". Авторам его проекта стали архитекторы института Ленметропроект А. С. Гецкин и В. П. Шувалова.
Железная дорога между Ленинградом и Москвой была электрифицирована к 1962 году. 15 декабря от Московского вокзала отправился первый ведомый электровозом поезд ("Красная стрела"). Одновременно с электрификацией движения в здании вокзала были сделаны подземные переходы с выходом в город и на станцию метро "Площадь Восстания".
Следующие улучшения здания Московского вокзала приурочили к 50-летию Октябрьской революции. В 1967 году был открыт новый световой (операционный) зал, что увеличило площадь вокзала ещё на 2 700 квадратных метров. Его торцевую стену отделали красным туфом, на ней нанесли текст решения II съезда Советов о переименовании Петрограда в Ленинград, принятого 26 января 1924 года:
Петроградского Совета рабочих, крестьянских
и красноармейских депутатов,
поддержанную резолюциями рабочих
всех фабрик и заводов Петрограда,
о переименовании города ПЕТРОГРАДА
в ЛЕНИНГРАД
Пусть отныне этот крупнейший центр
пролетарской революции
навсегда будет связан с именем
величайшего из вождей пролетариата -
Владимира Ильича
УЛЬЯНОВА-ЛЕНИНА"
Внутри зала был установлен памятник В. И. Ленину работы скульптора Л. А. Месса. Памятник представлял из себя бюст высотой один метр, поставленный на постамент из чёрного полированного лабрадора высотой 4,5 метра.
Площадка между перронами и световым залом была перекрыта алюминиевым навесом в 1976 году. Вес этой конструкции составил 250 тонн, площадь - 1200 кв. м. Работы по её установке производились без ограничения движения поездов.
Бюст Ленина в зале прибытия в 1993 году сменил бюст Петра I. На торцевой стене вместо текста о переименовании разместили крупную надпись "Санкт-Петербург" и герб города. До недавнего времени фасад Московского вокзала имел зелёный окрас, в 2005 году восстановлен первоначальный розовый цвет.