Irwin ran for a seat to the Legislative Assembly of Alberta as a Conservative candidate in the electoral district of Calgary in the 1926 Alberta general election. Irwin ran for a second term in office in the 1930 Alberta general election. He was re-elected finishing in the third place seat once again.
Irwin ran for a third term in office in the 1935 Alberta general election.
He withstood the Social Cr landslide becoming one of the few incumbents to retain a seat. He took second place out of six seats available.
Irwin retired from provincial politics at dissolution of the assembly in 1940. John Irwin"s grandson, also named John Irwin, served as Mayor of the Municipality of Crowsnest Pass, Alberta.