Название городу дала река Шахунка. Название речки трактуется по-разному. Существует мнение, что раньше речка была настолько узкой, что в любом месте ее легко можно было перешагнуть. Согласно другим источникам, такое название реки связано с наличием больших запасов торфа. Торфяные берега легко размывала вода, особенно осенью во время дождей и в весеннее половодье. Только сделают местные жители мост через речку, а она вскоре изменила русло – шагнула в сторону.
Шахунья упоминается в документах 1870 года, в которых говорится, что в поселении было два двора, в которых проживало 17 жителей. В 1921 году здесь решено было основать пристанционный поселок. Поселок этот возник во время строительства железной дороги, соединяющей Котельнич и Нижний Новгород. За период с 1923 по 1927 годы построено железнодорожное депо, вокзал и электростанция.
В период Великой Отечественной войны 19 000 шахунцев ушли на фронт. Из них погибли 6 800 человек, и более 2 000 пропали без вести. Железнодорожные предприятия Шахуньи перевели на военное положение. О трудовом героизме шахунских железнодорожников неоднократно сообщало Советское Информбюро. В 1942 году на средства трудящихся Шахуньи был построен танк «Василий Чапаев».
27 октября 1943 года решением Горьковского облисполкома рабочий поселок Шахунья был преобразован в город. В первые послевоенные пятилетки молодой город в короткий срок превратился в крупный промышленный, торговый и культурный центр севера области.
1 августа 2015 года в Шахунье помимо Дня города состоится XXI Межрегиональный фестиваль «Мы с Ветлуги-реки». Проводят его поочередно все районы Поветлужья. В этом году Шахунья удостоилась чести проводить данный фестиваль на своей территории. Фестиваль является общим праздником жителей Поветлужья, основная цель которого – сохранение народных традиций и передача их молодому поколению. Задачей ассоциации является создание единой комплексной экологической программы спасения, сохранения и оздоровления природной среды в бассейне реки Ветлуги.