Makarov was born in Udomlia (Tver Oblast) near Moscow in the Soviet Union. He graduated from Bauman Moscow Higher Technical School in 1957, and started working at the Special Design Bureau Number One (which is now RSC Energia) as an engineer, working on the Vostok spacecraft. In 1966 he was selected for cosmonaut training.
His first spaceflight was Soyuz 12 in 1973, a test flight to check the changes made to the Soyuz spacecraft after the Soyuz 11 disaster. His second flight was Soyuz 18a, aborted shortly after launch with an emergency landing in north-west China. With his third launch on Soyuz 27 he flew to space station Salyut 6, and landed 5 days later with the Soyuz 26 spacecraft. His last mission was Soyuz T-3, during which several repairs on Salyut 6 were done. He was also in backup crews for the flight Soyuz 17 and Soyuz T-2. Altogether he spent 20 days 17 hours 44 minutes in space.