Stokes was born in Schreiber, Ontario, and was educated in the area. He worked railway conductor for the Canadian Pacific Railway before entering political life, and became familiar with many Northern Ontario communities that he later represented in the legislature. Stokes was a municipal hydro commissioner from 1959 to 1963, a Credit Union director from 1965 to 1968, and chair of the Local Brotherhood Railway Trainmen from 1955 to 1967. He was a Roman Catholic, and a member of the Knights of Columbus.
He was first elected to the Ontario legislature in the 1967 provincial election, defeating Liberal candidate Raymond Rudiak by 310 votes in Thunder Bay. This constituency included the city of Thunder Bay, and also covered 110,000 square miles across much of northwestern Ontario from Lake Superior to Hudson Bay.
Stokes was returned by a much greater majority in the 1971 election. He one of the first MPPs to regularly raise issues regarding First Nations people, and was also committed to issues of the environment, forestry renewal and northern affairs.
He was re-elected for the redistributed constituency of Lake Nipigon in the 1975 provincial election. William Davis's Progressive Conservatives were reduced to a minority government in this election, and Stokes served as Deputy Speaker in the parliament that followed. Davis's party won a second consecutive minority government in the 1977 election, and the premier nominated Stokes to become Speaker of the Legislature on October 17, 1977.
He was the first CCF or NDP member to serve as Speaker, and the first non-government member to hold the position since the United Farmers of Ontario government of the 1920s. Stokes was considered a tough, no-nonsense Speaker who would expel even members of his own party from the house if they were being unruly.
He returned to the NDP caucus following the 1981 Ontario election, in which the Progressive Conservatives were returned with a majority government. He supported Jim Foulds for the party leadership in 1982, and did not seek re-election in 1985. By the time of his retirement, Stokes had turned Lake Nipigon into one of the safest NDP seats in the province. After leaving the legislature, Stokes was active with Lakehead University and worked on forestry issues.