Железная дорога пришла в Бежецк в XIX веке вместе с Рыбинско-Бологовской линией, построенной акционерным обществом для вывоза волжского хлеба к Петербургу. Дорогу между Рыбинском и Бологим открыли в 1870 году. Станция Бежецк находится в северной части города и сейчас относится к Октябрьской железной дороге, на участке Бологое — Сонково.
В годы Великой Отечественной войны станция стала важным узлом: через неё шли воинские эшелоны на северо-западные фронты и поезда с эвакуированными. Немецкая авиация не раз её бомбила. Нынешнее здание вокзала построено в 1991 году.
Через Бежецк проходят пригородный поезд Бологое — Сонково и поезда дальнего следования; прямого пассажирского сообщения с Москвой и Тверью нет, поэтому до столицы обычно добираются с пересадкой. Удобнее всего от областного центра ехать автобусом: маршрут Бежецк — Тверь длиной около 130 километров обслуживают несколько рейсов в день.
Город лежит на пересечении автодорог: с севера на юг через него идёт трасса Р84, с запада на восток — Р85 Вышний Волочёк — Сонково. Неподалёку когда-то находился военный аэродром Дорохово, но сейчас он закрыт.