Castles was born in Marion, North Carolina, and raised in Charlotte. At the age of nine he received a car to drive in a soapbox derby from local racing figure Buddy Shuman, who also gave him the nickname "Soapy." As a teenager, Castles worked on Shuman's racing cars and cleaned tools at his shop, an early immersion in the mechanical culture that would define his professional life.
Castles made his NASCAR Cup Series debut in June 1957 at Columbia Speedway, where engine failure ended his race after 51 laps. He became a consistent mid-field competitor over the following two decades, eventually recording 51 top-five and 178 top-ten finishes across 498 career starts. He led 70 of the 90,509 laps he completed, covering a total career distance of 65,412.8 miles (105,271.7 km). Total career earnings reached $276,854.
His most significant championship came not in the Cup Series but in the NASCAR Grand National East Series, where he won the 1972 title. That year he also won at Greenville-Pickens Speedway in South Carolina. Earlier in his career he had claimed victory in 25-lap qualifying races at Darlington Raceway in 1967 and Rockingham Speedway in 1969.
One of the more colorful episodes from his career involved an incident during a race in which he had lapped Curtis Turner, only to be repeatedly shown the move-over flag by the flagman, who apparently could not believe Castles was actually ahead of the more celebrated Turner. According to Castles, he eventually picked up his gun as he passed the flagging stand and "took aim and shot that flag out of his hand." The story was recounted in Peter Golenbock's 1994 book American Zoom: Stock Car Racing — from the Dirt Tracks to Daytona.
His 498 Cup Series starts without a victory placed him third on that particular list at the time of his death, behind J. D. McDuffie (653) and Buddy Arrington (560).
Alongside his racing work, Castles built a substantial career in the film industry as a stunt driver and occasional actor. His introduction to the film world came when he and friends were recruited as extras during filming at Occoneechee Speedway, after which he volunteered to replace a California-based stuntman. He went on to work in Thunder Road (1958), Speedway (1968, where he doubled for Elvis Presley), The Last American Hero (1973), Greased Lightning (1977), and Six Pack (1982). He also acted in The Night of the Cat (1973) and Challenge (1974).
Castles was married to Iris Jean Gallion for 63 years until her death in December 2019. They had three children together. In 2019 he published a memoir, Neil "Soapy" Castles: Memoir of a Life in NASCAR and the Movies, which documented both his racing and film careers. He died on August 4, 2022, at the age of 87.