Barrett was born in Vancouver, British Columbia, the son of Rose (Hyatt or Hait) and Samuel Barrett, a peddler. His parents were Russian Jewish immigrants. He was first elected to British Columbia's legislature in the 1960 election as a Co-operative Commonwealth Federation (soon to become the New Democratic Party of British Columbia) member for the electoral district of Dewdney. He had to fight to be allowed to run as he was a civil servant, as at the time civil servants were barred from running for office.
He became known for his public speaking ability and held his seat through four elections. He ran for the provincial leadership of the NDP, but lost to Tom Berger. However, Berger lost the 1969 election, a contest that the NDP had been expected to win. He resigned, and there was a quick campaign to draft Barrett as party leader.
Barrett led the NDP to its first provincial victory against the stagnating Social Credit government of W. A. C. Bennett in the 1972 election. He became Premier on September 15, 1972.
His government was criticized for its spending, quickly taking the government from surplus to debt. The NDP argued that the deficit was not entirely its fault as it had introduced modern accounting practices, and were caught by the huge liabilities that the Socred government had hidden off the books.
The Barrett government substantially reformed the welfare system, initiated a number of reforms such as establishing the province's Labour Relations Board, and expanded the public sector. The NDP also introduced more democracy into the Legislative Assembly of British Columbia through the introduction of question period and full Hansard transcripts of legislative proceedings in the province. The NDP also brought in the Agricultural Land Reserve (ALR) to protect the small supply of farm land in BC. The Insurance Corporation of British Columbia (ICBC) was formed to provide government car insurance. Both the ALR and ICBC are still functioning.
On social policy, in 1973, B.C. banned corporal punishment in all schools.
The NDP passed a new law on average every three days while in power. The pace of change was enough to scare the centre and centre-right into uniting together under the Social Credit banner to oppose the NDP. Social Credit gained Members of the Legislative Assembly (MLAs) from both the Conservatives and the Liberals.
Barrett called a snap election in 1975, and was defeated by the Social Credit Party, then led by Bill Bennett, son of the man Barrett had defeated in the previous election. Bennett's campaign focused on attacking the Barrett government's handling of provincial finances.
In terms of raw numbers (but not percentage), the NDP increased its popular vote in the 1975 election. However, its vote outside of the Vancouver area plummeted, costing it 20 seats and its majority. Barrett was personally defeated in the Coquitlam seat he had held since its creation in a 1965 redistribution, losing to Socred challenger George Herman Kerster by only 18 votes. In June 1976, he was returned to the legislature in a by-election in Vancouver East, after sitting NDP MLA Robert Arthur Williams stepped aside. He remained an MLA for that riding until 1984, continuing to lead the NDP against Bennett's Socreds in the 1979 and 1983 elections.
The Forensic Audit of the Nanaimo Commonwealth Holding Society revealed that the day before Bob Williams resigned he received $80,000, 4 years MLA pay at the time, from the NCHS. One time NPD MLA, Minister and MP David Stupich was later convicted of stealing that money from Nanaimo Charities.
On October 6, 1983, Barrett was forcibly removed from the Legislative Assembly chamber by the Serjeant-at-Arms for failing to abide by the Speaker's ruling. This was the first incident in the legislature's history where security staff had to intervene and remove a member from chamber.
Barrett was elected Member of Parliament for the riding of Esquimalt—Juan de Fuca in 1988. He ran for the leadership of the federal New Democratic Party in 1989, losing narrowly on the fourth ballot to Audrey McLaughlin at the party's leadership convention. Rival candidate Simon De Jong agreed to support Barrett in exchange for being named Party Whip. De Jong forgot that he was wearing a microphone as part of a CBC documentary on the convention and the back-room discussions leaked to the press. The surrounding controversy hurt De Jong but was short-lived. During the campaign, Barrett argued that the party should be concerned with Western alienation, rather than focusing its attention on Quebec. The Quebec leadership of the NDP strongly opposed Barrett's candidacy, and future Quebec MP Phil Edmonston threatened to resign from the party if Barrett became leader.
During contentious attempts to amend Canada's constitution, Barrett opposed the 1987 Meech Lake Accord, but reluctantly endorsed the 1992 Charlottetown Accord to comply with party policy. He later referred to the party's support for the Accord as a mistake.
He lost his seat in the 1993 federal election to Reform Party candidate Keith Martin.
Some have felt that Barrett would have made a more effective leader than McLaughlin, since the NDP had long been the voice of western discontent, but the party had never had much of a presence in Quebec. In 1989, the New Democratic Party of Quebec adopted a sovereigntist platform and severed its ties with the federal NDP. Although Edmonston would win the NDP its first seat in Quebec through a by-election, he was a Quebec nationalist who clashed with the party over its position on Canadian federalism and against decentralization and devolving powers to Quebec. Barrett's warnings about Western alienation would prove prophetic in the 1993 federal election, as the Reform Party replaced the NDP as the protest voice west of Ontario.
In 1998-2000 Barrett chaired two inquiries into the Leaky condo crisis in BC entitled The Commission of Inquiry into the Quality of Condominium Construction in British Columbia. The first of what became known as the "Barrett Commissions" was to investigate the cause of the crisis and make recommendations to prevent reoccurrence. The second was to make recommendations following the collapse of the New Home Warranty program.
Barrett is retired from active politics and, for reasons of health and beginning in 2010, from public life altogether. Since 2000, Barrett has served on American Income Life Insurance Company's Labour Advisory Board as an Honorary Member. In 2003, he supported Bill Blaikie's bid to become leader of the federal NDP. In 2005, he was made an Officer of the Order of Canada, and in 2012 a member of the Order of British Columbia. In 2014, it was announced that Barrett had Alzheimer's disease and was living in a care facility in Victoria, British Columbia.