В 1973 году окончил 10 классов русской средней школы № 5 в Яундубулты (район Юрмалы). В 1979 году окончил факультет аэрофизики и космических исследований МФТИ по специальности «Динамика полёта и управление ЛА». В 1983 году заочно окончил аспирантуру в МФТИ по специальности «Механика жидкостей, газа и плазмы».
С 19 сентября 1979 года работал инженером 016-го отдела ГКБ НПО «Энергия». Участвовал в разработке проектной и технической документации, натурных испытаниях ОК «Мир». Занимался исследованием нагрузок в эксперименте «Астра-2» на ОС «Салют-7», а также одной из модификаций корабля «Союз Т» и модуля для ОК «Мир», создаваемого на базе этого же корабля.
В середине апреля 1982 года начал проходить стационарное медицинское обследование в Институте медико-биологических проблем (ИМБП) в рамках очередного набора (7-й набор) в отряд космонавтов НПО «Энергия», и в июне 1982 года получил положительное заключение Врачебно-экспертной комиссии (ВЭК). 3 декабря 1982 года получил допуск к специальным тренировкам. В начале 1984 года был отобран в отряд космонавтов по результатам внутренних экзаменов в НПО «Энергия» и решением Государственной межведомственной комиссии (ГМВК) от 15 февраля 1984 года был рекомендован к зачислению кандидатом в отряд космонавтов НПО «Энергия». 13 апреля 1984 года приказом № 858 был назначен на должность кандидата в космонавты-испытатели 291-го отдела НПО «Энергия». С ноября 1985 по октябрь 1986 года прошёл общекосмическую подготовку (ОКП) в ЦПК им. Ю. А. Гагарина. 28 ноября 1986 года решением Межведомственной квалификационной комиссии (МВКК) ему была присвоена квалификация космонавта-испытателя. 11 февраля 1987 года был назначен на должность космонавта-испытателя 291-го отдела НПО «Энергия».
В 1987—1992 годах готовился в группе по программе полётов на ОК «Мир».
В апреле — мае 1987 года проходил подготовку в качестве бортинженера третьего (резервного) экипажа корабля «Союз ТМ-4» по программе третьей основной экспедиции (ЭО-3) на ОК «Мир», вместе с В. Ляховым. В мае 1987 года заменил в дублирующем экипаже корабля «Союз ТМ-4» С. Емельянова и с мая по декабрь 1987 года проходил подготовку в качестве бортинженера дублирующего экипажа вместе с А.Волковым и А.Щукиным. Во время стрта ТК «Союз ТМ-4» 21 декабря 1987 года был дублером бортинженера корабля.
С января 1988 года проходил подготовку в качестве бортинженера основного экипажа корабля «Союз ТМ-7» по программе четвёртой основной экспедиции (ЭО-4) на ОК «Мир» и советско-французской программы «Арагац», вместе с А. Волковым и Жан-Лу Кретьеном (Франция). 22 марта 1988 года был отстранен от подготовки по состоянию здоровья и заменен С.Крикалевым. Вновь допушен к подготовке решением ГМК от 6 октября 1989 года.
В мае — ноябре 1990 года проходил подготовку в качестве бортинженера резервного (третьего) экипажа корабля «Союз ТМ-11» по программе ЭО-8 на ОК «Мир», вместе с А. Волковым.
В январе — апреле 1991 года проходил подготовку в качестве бортинженера дублирующего экипажа корабля «Союз ТМ-12» по программе ЭО-9 на ОК «Мир» и советско-английской программы Juno, вместе с А.Волковым и Тимоти Мейсом (Великобритания). Во время стрта ТК «Союз ТМ-12» 18 мая 1991 года был дублером бортинженера корабля.
С мая 1991 года проходил подготовку в качестве бортинженера основного экипажа корабля «Союз ТМ-13» по программе ЭО-10 на ОК «Мир» и советско-австрийской программы Austromir, вместе с А.Волковым и Ф.Фибеком (Австрия). 10 июля 1991 года, в связи с решением Госкомиссии о совмещении полётов по австрийской и казахской программам, был выведен из экипажа и заменен Т.Аубакировым.
С октября 1991 по февраль 1992 года проходил подготовку в качестве бортинженера основного экипажа корабля «Союз ТМ-14» по программе ЭО-11 ОК «Мир» и российско-германской программе Mir-92, вместе с А.Викторенко и К.-Д. Фладэ (Германия).
В марте 1994 года был назначен заместителем начальника 291-го отдела (отряда космонавтов) НПО «Энергия».
С октября 1995 по июль 1996 года проходил подготовку в качестве бортинженера дублирующего экипажа корабля «Союз ТМ-24» по программе ЭО-22 на ОК «Мир» и российско-французской программе «Кассиопея», вместе с В.Корзуном, Л.Эйартцом (Франция). В связи с заболеванием Г.Манакова — командира основного экипажа корабля «Союз ТМ-24», решением Госкомиссии от 12 августа 1996 года в состав основного экипажа корабля вместо Г.Манакова и П.Виноградова были назначены соответственно В.Корзун и А.Калери, которые планировались в качестве основного экипажа ЭО-24.
С декабря 1997 по июль 1998 года проходил подготовку в качестве бортинженера второго экипажа по программе ЭО-26 на ОК «Мир», вместе с С.Залетиным. В качестве космонавта-исследователя вместе с ними должен был проходить подготовку Ю.Шаргин, назначенный в экипаж 24 февраля 1998 года, однако к тренировкам он не приступал, так как был отстранен от подготовки по состоянию здоровья. С 6 мая 1998 года в качестве космонавта-исследователя проходил подготовку О.Котов. Во время старта ТК «Союз ТМ-28» 13 августа 1998 года был дублером бортинженера корабля.
С марта 1999 по март 2000 года проходил подготовку в качестве бортинженера основного экипажа 28-й экспедиции на ОК «Мир» (ЭО-28), вместе с С.Залетиным. С января 2000 года вместе с ними проходил подготовку актёр В.Стеклов, но он был выведен из экипажа 16 марта 2000 года по финансовым соображениям.
С января 2001 по май 2002 года проходил подготовку к космическому полёту в качестве командира дублирующего экипажа МКС-5, вместе с С.Келли (США) и Д.Кондратьевым.
1 октября 2002 года приступил к подготовке в качестве бортинженера основного экипажа МКС-7, вместе с Ю.Маленченко и Э.Лу.(США) После катастрофы шаттла Columbia, вызвавшей корректировку программы полётов на МКС и переформирование экипажей, с 25 февраля 2003 года готовился в качестве бортинженера дублирующего экипажа МКС-7. 13 марта 2003 года решением МВК был назначен в состав основного экипажа МКС-8 со стартом на ТК «Союз ТМА-3» и продолжил подготовку в качестве бортинженера МКС-8 и командира ТК «Союз ТМА-3», вместе М.Фоулом (США).
В конце июля 2005 года был включен в состав смешанной группы космонавтов, получившей обозначение «МКС-15/16/17», из состава которой будут сформированы экипажи 15-й, 16-й и 17-й экспедиций на МКС. 15 августа 2005 года приступил к подготовке в составе этой группы в РГНИИ ЦПК. Рассматривалась возможность включение его в дублирующий экипаж МКС-17 в качестве бортинженера ТК и МКС.
В мае 2006 года решением Роскосмоса, ЦПК и РКК «Энергия» в предварительном порядке был назначен командиром дублирующего экипажа 16-й экспедиции на МКС (МКС-16д) и командиром основного экипажа 18-й экспедиции на МКС (МКС-18) (американские члены экипажа будут назначены позднее). Старт 18-й экспедиции на корабле «Союз ТМА-13» запланирован на сентябрь 2008 года. Планировалось, что это будет первый полёт новой модификации корабля «Союз-ТМА» (700-я серия). Однако летом 2006 года первый полёт машины этой серии был перенесен на весну 2009 года. В настоящее время старт первого корабля 700-й серии запланирован на 29 сентября 2010 года под экипаж МКС-25/26, командиром корабля основного экипажа назначен А.Калери.
30 октября 2006 года приказом президента РКК «Энергия» назначен начальником Летной службы РКК «Энергия» с сохранением должности инструктора-космонавта-испытателя 1 класса. Тем же приказом освобожден от должности заместителя начальника командира отряда космонавтов РКК «Энергия».
С 17 марта по 10 августа 1992 года в качестве бортинженера ТК «Союз ТМ-14» и ОК «Мир» по программе ЭО-11 (11-й основной экспедиции) вместе с А.Викторенко. Стартовал вместе с А. Викторенко и К.-Д. Фладэ (ФРГ). Посадку совершил вместе с А.Викторенко и М.Тонини (Франция). Позывной: «Витязь-2». Во время полёта совершил один выход в открытый космос:
Продолжительность полёта составила 145 суток 14 часов 10 минут 32 секунды.
С 17 августа 1996 года по 2 марта 1997 года в качестве бортинженера ТК «Союз ТМ-24» и ОК «Мир» по программе ЭО-22 (22-й основной экспедиции) вместе с В. Корзуном. Стартовал вместе с В. Корзуном и Клоди-Андре Деэ (Франция). Посадку совершил вместе с В. Корзуном и Р. Эвальдом (Германия). Позывной: «Фрегат-2». Во время полёта совершил два выхода в открытый космос:
Продолжительность полёта составила 196 суток 17 часов 26 минут 13 секунд.
С 4 апреля по 16 июня 2000 года в качестве бортинженера ТК «Союз ТМ-30» и ОК «Мир» по программе ЭО-28 (28-й основной экспедиции) вместе с С.Залетиным. Этот полёт стал последней экспедицией на ОК «Мир». Позывной: «Енисей-2». Во время полёта совершил один выход в открытый космос:
Продолжительность полёта составила 72 суток 19 часов 42 минуты 16 секунд.
С 18 октября 2003 года по 30 апреля 2004 года в качестве командира ТК «Союз ТМА-3» и бортинженера 8-й основной экспедиции на МКС вместе с М.Фоулом. Стартовал вместе с М.Фоулом и П.Дуке (Испания), приземлился вместе с М.Фоулом и А.Кейперсом (Нидерланды) Во время полёта совершил один выход в открытый космос:
Продолжительность полёта составила 194 суток 18 часов 33 минуты 12 секунд.
С 8 октября 2010 года по 16 марта 2011 года в качестве командира ТК «Союз ТМА-М» и бортинженера 25-й и 26-й основных экспедиций на МКС вместе с О.Скрипочкой. Позывной: «Ингул». Стартовал и приземлился вместе с О.Скрипочкой и С.Келли.
Продолжительность полета составила 159 суток 08 часов 43 минуты 05 секунд.
Имеет налёт 22 часа на учебно-тренировочном самолёте Л-39. Совершил 14 прыжков с парашютом. Космонавт 3-го класса (24.08.1992), Космонавт 2-го класса (01.04.1997). Космонавт 1-го класса.
Имеет 2-й разряд по прыжкам на батуте.
Соавтор книги «Наблюдения Земли из космоса» (с борта ОС «Мир», март — август 1992).