Добраться до города можно через Псков (88 км), далее на автобусе. Из Санкт-Петербурга ежедневно ходит поезд № 677 (на Великие Луки); время в пути — около 7 часов. Кроме того, в Порхов можно попасть на машине по трассам А116 Новгород — Сольцы — Порхов — Остров, Р56 Псков — Порхов и Р57 Порхов — Успенье. Городской транспорт представлен автобусными маршрутами.