Окончил Военно-морское авиационное училище имени Сталина (1957), Военно-воздушную инженерную академию имени Н. Е. Жуковского (1968), Высшие академические курсы при Военной академии Генерального штаба (ВАГШ) ВС СССР им. К. Е. Ворошилова (1988). Кандидат технических наук (1978).
В 1957—1960 служил лётчиком, старшим лётчиком в ВВС Балтийского и Северного флотов.
7 марта 1960 был зачислен в первый отряд космонавтов СССР. Юрий Гагарин так характеризовал Шонина:
11 октября — 16 октября 1969 участвовал в космическом полёте в качестве командира корабля «Союз-6» (бортинженер — Валерий Кубасов) Продолжительность полёта составила 4 суток 22 часа 42 минуты 47 секунд. Полёт проходил одновременно с полётом космических кораблей «Союз-7» и «Союз-8». Во время полёта впервые в мире были осуществлены эксперименты по проведению сварочных работ в космосе на аппаратуре, разработанной в киевском Институте электросварки имени Е. О. Патона. Также был проведён эксперимент «Факел» по обнаружению запусков баллистических ракет.
В 1970—1973 — начальник отдела (военные программы «Алмаз» и «Союз-ВИ») первого управления, в 1976—1979 — начальник второго управления (тренировочная база) Центра подготовки космонавтов. В 1979 отчислен из отряда в связи с переводом на лётную должность в ВВС.