Родился в деревне Комаровка Брестской области Белорусской ССР (ныне - Республика Беларусь). Отец партизанил и погиб в 1944 году при освобождении польского города Радома. Первые годы жизни прошли в оккупации. Детские и школьные годы провел в родной деревне. В 1959 году закончил среднюю школу и поступил в школу первоначального обучения летчиков, а затем стал курсантом Черниговского высшего военного училища летчиков имени Ленинского комсомола. В 1964 году окончил его с отличием. Затем служил в авиационных частях Советской Армии.
Зачислен в отряд космонавтов в 1965 году. Прошёл полный курс общекосмической подготовки и подготовки к космическим полётам на кораблях типа «Союз» и орбитальных станциях типа «Салют». Совершил три космических полёта в качестве командира экипажа. Первый космический полёт совершил с 18 по 26 декабря 1973 года вместе с бортинженером В. В. Лебедевым на космическом корабле «Союз-13». Продолжительность полёта составила 7 дней 20 часов 55 минут 35 секунд.
В январе 1975 года входил в состав резервного экипажа космического корабля «Союз-17». В апреле 1975 года был дублёром командира корабля при неудачном старте корабля «Союз-18-1». Свой второй полёт в космос совершил с 24 мая по 26 июля 1975 года совместно с бортинженером В. И. Севастьяновым на космическом корабле «Союз-18-2» к орбитальной станции «Салют-4». Продолжительность пребывания в космосе составила 62 дня 23 часа 20 минут 8 секунд. В дальнейшем проходил подготовку к полётам по программе «Интеркосмос».
Свой третий полёт в космос совершил с 27 июня по 5 июля 1978 года в качестве командира международного экипажа совместно с космонавтом-исследователем, гражданином Польской Народной Республики М. Гермашевским на космическом корабле «Союз-30» к орбитальной станции «Салют-6» для совместной работы с её экипажем — В. В. Ковалёнком и А. С. Иванченковым. Продолжительность пребывания в космосе составила 7 дней 2 часа 2 минуты 59 секунд. Всего за 3 полёта в космос налетал 78 дней 18 часов 18 минут 42 секунды.
С 30 марта 1976 — заместитель командира отряда космонавтов ЦПК по политической части, с 24 января 1978 — заместитель начальника ЦПК — начальник политотдела Центра. 3 апреля 1991 г. в связи с расформированием политорганов в армии переведён на должность начальника военно-политического отдела, заместителя начальника ЦПК. С 12 сентября 1991 по сентябрь 2003 — начальник Центра подготовки космонавтов имени Ю. А. Гагарина.