Витебский вокзал является конечной станцией первой русской железной дороги. Она соединила Санкт-Петербург с Царским Селом, называлась Царскосельской, также назвали тогда и вокзал - Царскосельским. Железная дорога строилась под руководством профессора Венского Политехнического института Франца Антона фон Герстнера. По его плану вокзал должен был находиться на берегу Фонтанки. Однако средств хватило только на строительство самой дороги и вокзала в Царском Селе, так как планируемые затраты на сооружение железной дороги были значительно превышены. Тогда было решено построить временную станцию на Семёновском плацу у Загородного проспекта, что и было сделано.
Первое деревянное здание Витебского (Царскосельского) вокзала представляло из себя платформу, помещение для пассажиров и примыкающие служебные постройки. Станция стояла примерно в 70 метрах от Введенского канала, примерно на том месте, где теперь находится вестибюль станции метро "Пушкинская". У Обводного канала находились помещения для паровозов, экипажей, мастерская, сараи, кузницы, дома для персонала.
Первый поезд с Витебского вокзала отправился 30 октября 1837 года, ровно в 12 часов 30 минут. Его вёл сам фон Герстнер. Из Петербурга до Царского Села поезд добрался за 35 минут, что тогда стало рекордом. Там по этому случаю был устроен банкет, после чего пассажиры отправились обратно в столицу тем же поездом. Во время следования фон Герстнер желал показать все достоинства нового средства передвижения, скорость поезда достигала более 60 вёрст в час, что тогда было крайне быстро. Из Царского Села в Санкт-Петербург состав добрался за 27 минут.
Петербуржцы стали приходить сюда просто ради того чтобы увидеть прибытие поезда, сопровождавшееся громким сигнальным свистом. Через несколько недель его заменили на органную мелодию.
В 1843 году Общество Царскосельской железной дороги выкупило дополнительный участок на берегу Введенского канала. Здесь по проекту архитектора К. А. Тона в 1849-1852 годах было построен новый каменный двухэтажный вокзал. Здание стояло в один ряд с корпусами казарм по Загородному проспекту. В 1874-1876 годах Витебский вокзал был расширен и перестроен.
С 1900 года Царскосельская линия стала принадлежать Московско-Виндаво-Рыбинской железной дороге, которая построила путь к Витебску. Новые владельцы планировали перенести Витебский вокзал за Обводный канал, либо расширить его территорию за счёт засыпки Введенского канала. Но удалось приобрести лишь ещё часть Семёновского плаца и 1-й офицерский полковой флигель за 400 000 рублей, на месте которого построили здание правления железной дороги (Загородный пр. 50). В связи с высокой интенсивностью движения земляная насыпь подъездных путей была поднята а высоту до пяти метров, на пересечении с Обводным каналом были сделаны развязки в двух уровнях.
В 1900-1901 годах на берегу Введенского канала была построена станция императорских поездов (Царский павильон). Именно сюда прибывали поезда, которыми пользовалась императорская семья.
Новое здание Витебского вокзала возводилось в 1900-1904 годах по проекту С. А. Бржозовского, инженеров путей сообщения Н. С. Островского и Ф. И. Кнорринга. За первый год строительства удалось сложить фундаменты основного корпуса. Для нахождения оптимального объёмно-пространственного решения тогда же был организован конкурс. Ни один из 24 представленных проектов тогда не был принят. Проектирование всё-равно завершил сам Бржозовский. Строительство велось в 1902-1904 годах под наблюдением гражданского инженера А. Г. Голубкова.
Станция Витебской линии Московско-Виндаво-Рыбинской железной дороги стала одним из первых петербургских общественных зданий с фасадом в стиле модерн. Как и в тогда же построенном Елисеевском магазине, стену дома раскрыла большая арка с витражом. Перед ней была создана небольшая Витебская площадь.
Внутренней отделкой здания занимался гражданский инженер С. И. Минаш. Стены вестибюля Витебского вокзала украшены орнаментами, лепниной. Изображение бога Меркурия олицетворяет путешествия и торговлю. Позднее вестибюль украсили панно с изображением Петропавловской крепости и порта в Одессе. Их создали художники В. И. Быстренин и С. И. Дудин. На втором этаже находится "Картинный зал" (бывший зал пассажиров I и II классов), украшенный панно с изображениями истории Царскосельской железной дороги и её вокзалов. Их написали художники Н. С. Самокиш и Е. П. Самокиш-Судковская. Картинный зал связан с рестораном. Зал пассажиров III класса находился между вестибюлем и часовой башней. К выходам на платформы ведёт Световой зал. Металлические укрытия перронов выполнены по проекту инженера В. С. Персона.
Витебский вокзал был оборудован по последнему слову техники. Для автоматизации подачи багажа и почты здесь был устроены специальные тоннели и лифт. Между путями расположился диспетчерский пункт - первое в России гражданское сооружение из монолитного железобетона.
1 августа 1904 года в 5 часов дня отсюда впервые отправился поезд в Витебск. В начале ХХ века станция стала называться Витебским вокзалом.
Стены "Картинного зала" в 1950-х годах были дополнены панно художника Л. Островой с изображениями Витебского вокзала и новой станции в городе Пушкине. В 1974 году проводилась реконструкция ресторана по проекту архитектора А. Е. Васильева.
В честь 150-летия со дня создания первой российской железной дороги (в 1987 году) на территории Витебского вокзала был установлен макет паровоза "Проворный", того самого паровоза который вёл профессор фон Герстнер. Последняя реставрация Витебского вокзала проводилась накануне 300-летия Санкт-Петербурга.