Balmain was established in 1880 and from 1882, it elected two members, from 1885 it elected three members and from 1889 until 1894 it elected four members simultaneously. Voters cast a vote for each vacancy and the leading candidates were elected. In 1894 it was split into Balmain North, Balmain South, Annandale and Leichhardt, each electing one member. In 1904 with the downsizing of the Assembly after Federation, Balmain North and part of Balmain South were combined into a single electorate, electing one member. In 1920, parts of the electoral districts of Balmain, Annandale, Camperdown, Darling Harbour, Glebe and Rozelle were combined to create a new incarnation of Balmain, which elected four members by proportional representation. This was replaced by single member electorates, including parts of Balmain, Annandale, Glebe and Rozelle for the 1927 election. Balmain was abolished in 1991, being replaced by Port Jackson. It was recreated for the 2007 election, largely replacing the abolished district of Port Jackson.
Historically, Balmain has been a working-class seat and very safe for Labor; however as with several inner-city seats, demographic change has led to a rise in the Greens vote, thus becoming a marginal seat in recent years.