Parkes was the eldest son of John Parkes, chairman and managing director of the Alvis Group, and studied at Haileybury College. He began racing in the mid-1950s with an MG and then a Frazer Nash, and in 1957 drove a Lotus that brought him to the attention of Colin Chapman, who invited him to act as reserve driver for the works team at Le Mans. He became involved with the Fry Formula Two project in 1958 and 1959 before returning to sports cars. His entry at Aintree in the 1959 British Grand Prix — in a Formula Two Fry-Climax — did not result in a start.
While pursuing racing, Parkes worked for the Rootes Group from 1950 to 1962, serving as project engineer on the development of the Hillman Imp.
Parkes drove for Maranello Concessionaires and then for the Ferrari works programme through the early 1960s, building a reputation as a meticulous and fast sports car driver. In 1962 he and Willy Mairesse finished second at the 1000km Nürburgring. He joined Ferrari officially in 1963 as development and reserve driver.
The defining result of his endurance career came at Sebring in 1964, where he and Umberto Maglioli won the 12 Hours in a Ferrari, establishing a new speed record for distance covered by a winning car. He also won the 1000km Monza in April 1965 alongside Jean Guichet. Ferrari results at Sebring in 1966 were affected by Ford's pace, but Parkes remained a consistent front-runner.
He finished second at the 1967 24 Hours of Le Mans, sharing a Ferrari 330P4 with Ludovico Scarfiotti. After recovering from his 1967 Spa accident, he returned to sports car racing in 1970, finishing fourth at Daytona in a Ferrari 312P entered by the North American Racing Team alongside Sam Posey, and competed into the early 1970s with the Filipinetti organisation, including a seventh-place Le Mans finish in 1972 and involvement in the development of the Filipinetti-prepared Ferrari 512M.
When John Surtees unexpectedly departed Ferrari in 1966, Parkes was promoted to the Formula One team. The car was built with an extended chassis to accommodate his height of six feet four inches. He finished second on his first World Championship start, the 1966 French Grand Prix at Reims, behind Jack Brabham. Later that season he took pole position and another second place at the Italian Grand Prix at Monza.
In 1967 he finished fifth at the Dutch Grand Prix at Zandvoort, then crashed out on the first lap of the Belgian Grand Prix at Spa after sliding on oil sprayed from Jackie Stewart's BRM. The resulting broken legs ended his Grand Prix career. He won a non-championship Formula One race at Silverstone in April 1967, completing 52 laps ahead of Brabham. Across his six World Championship Grands Prix starts, Parkes scored 14 championship points.
In 1963 Parkes had joined Ferrari as development engineer for their road cars, including the 330 GTC. After his accident, Ferrari — at Enzo Ferrari's insistence — did not allow him to return to Formula One, valuing his engineering contribution too highly. He left and worked for Scuderia Filipinetti as engineer and driver before, in 1974, taking up the position of principal development engineer for the Lancia Stratos, the car that would define rally competition in the mid-1970s.
On 28 August 1977, Parkes was killed when the Lancia Beta he was driving rear-ended a lorry in wet conditions on the road between Modena and Turin, near Riva presso Chieri. He died instantly. He had never married and left behind a sister, Annabel, and a brother, Johnny.