Заложена 6 ноября 1933 г. в Горьком на заводе № 112 (Красное Сормово) 10 апреля 1935 г. спущена на воду и 21 августа 1936 г. вошла в состав КБФ.
22 июня 1941 г. встретила под командованием капитан-лейтенанта (впоследствии капитана 3 ранга) Д.К. Ярошевича в составе 6-го дивизиона 2-й бригады подводных лодок в Таллине.
23 июня 1941 г. вышла из Таллина для действий в средней части Балтийского моря. До 10 июля находилась на позиции, но встреч с противником не имела.
19 сентября 1942 г. «Щ-310» вышла из Кронштадта на позицию в Данцигскую бухту. 28 сентября в районе б-ки Штольпе лодка обнаружила транспорт противника и атаковала его, в цель попала одна торпеда. Был потоплен транспорт «Франц Рудольф» (1419 брт). 30 сентября в том же районе «Щ-310» безрезультатно атаковала вражеский транспорт.
3 октября в районе Стило она обнаружила миноносец и подводную лодку противника. «Щ-310» вышла в атаку по подводной лодке. Лодка от торпеды уклонилась. «Белуха», опасаясь преследования, отошла. 9 октября при возвращении в базу над лодкой взорвалась мина. Лодка получила повреждения, она не могла погружаться. Вечером лодку встретили катера МО, и 13 октября она возвратилась в Кронштадт.
15 марта 1944 г. командиром лодки был назначен капитан-лейтенант (позже капитан 3 ранга) С. Н. Богорад.
28 сентября 1944 г. «Щ-310» в составе группы из трех лодок в сопровождении пяти тральщиков, 1 МО и четырех СКА вышла из Кронштадта. 2 октября лодка от о-ва Утё направилась на позицию между Моонзундскими и Аландскими о-вами. На следующий день она получила приказание действовать в районе Ирбенский пр. — Вентспилс. Заняв эту позицию, «Щ-310» в 3.50 6 октября обнаружила транспорт противника в охранении двух сторожевых кораблей и атаковала его из позиционного положения двухторпедным залпом. Было потоплено учебное судно «Нордштерн» (1127 брт). Ночью 8 октября в районе маяка Ужава «Щ-310» из позиционного положения последовательно атаковала и потопила земснаряд «Баггер-3» и транспорт «Ro-24» («Зонневик», 4499 брт). Днем 10 октября она трижды обнаруживала конвои противника, но два из них атаковать не смогла из-за большой дистанции, а при атаке третьего — подвсплыла и была обнаружена противником. Атакованный ею транспорт уклонился от торпед.
14 октября в 1.50 в районе маяка Ужава «Щ-310» обнаружила судно в сопровождении двух кораблей и из надводного положения атаковала его двумя торпедами из кормовых аппаратов. Это судно командир считал потопленным. После атаки лодка в течение 40 минут подвергалась преследованию, но благополучно оторвалась от противника и, поскольку все торпеды были израсходованы, направилась в базу. Войдя в шхеры 15 октября «Щ-310» 17-го благополучно прибыла в Хельсинки.
24 ноября лодка вышла из Кронштадта и к 28 ноября прибыла к о-ву Утё. 1 декабря «Щ-310» направилась на позицию в районе Вентспилса, куда прибыла 4 декабря. 16 декабря она перешла в район Лиепаи. За время похода «Щ-310» произвела четыре атаки. По докладу командира, одна оказалась безуспешной, а в трех других случаях (21 и 30 декабря 1944 г. и 7 января 1945 г.) были потоплены три судна, однако эти сведения остались неподтвержденными. Были собраны также ценные сведения о характере судоходства и противолодочной обороны противника в районе Лиепаи. 15 января 1945 г. лодка вернулась в базу.
Указом Президиума Верховного Совета СССР от 6 марта 1945 г. «Щ-310» была награждена орденом Красного Знамени.