Johnston was born on July 16, 1876, in Bogarttown, Ontario. He was well educated and came from a prosperous family that ran lumber and flour mills in Simcoe County. He came to Saskatchewan around 1905, first stopping near Yellow Grass before settling on a large farm near Bladworth. He became successful both as a farmer and as a businessman. He owned the lumberyard and hardware store in Bladworth, and a string of general stores as far away as Outlook and Kerrobert. In 1917 Johnston was elected to the House of Commons, representing Last Mountain, as a Unionist-Liberal supporting the Borden government. Johnston broke with the Liberals to join the new T.A. Crerar-led Progressive group within the House of Commons. In 1921, Johnston won the Progressive nomination and was re-elected in Last Mountain; he became the chief whip of the Progressives. He was a proponent of Progressive co-operation with the William Lyon Mackenzie King Liberal government. Johnston won the 1925 election as a Progressive but soon King convinced him to sit as a Liberal. He was re-elected as a Liberal in the 1926 election and in 1929 was appointed Deputy Speaker. In 1930, Johnston lost his seat as the Conservatives defeated the King government. Johnston returned to his farm, but made a political comeback in 1935 when he was elected to represent the riding of Lake Centre. Johnston finished his term and was again defeated in 1940, this time by Conservative John Diefenbaker. Johnston received an appointment to the Senate in 1943 where he served until his death on May 9, 1948.