The battle between Labor and the Greens in the Batman by-election illustrated a lot about what is wrong with left politics in this country.

The two previous contests in the inner-Melbourne seat – at the 2013 and 2016 federal elections – pitted long-time Greens candidate Alex Bhathal against right wing apparatchik David Feeney, whose entire personality and political make-up gave the appearance of a calculated insult to left wing voters.

This time it was different. In a last ditch attempt to hold onto the seat, Labor abandoned the factional arrangements that have given Batman to the right and nominated former ACTU president Ged Kearney, who ran a campaign aimed at winning back disillusioned Labor voters who had gone over to the Greens since 2010.

That Kearney eked out a win – she slightly increased Labor’s two-party preferred margin – demonstrated what has long been self-evident: Labor’s only chance of holding off the Greens in inner city seats is by running more left wing candidates.

The problem the campaign demonstrated, though, was that even when Labor has a candidate that the Labor left feel confident to champion, their strategy for taking on the Greens is to cover up and apologise for the right wing status quo in the ALP.

This became apparent at the very start of the campaign, when Kearney admitted to the Herald Sun that she “accepted” Labor’s refugee policy (which she has previously spoken strongly against) and would submit to caucus discipline and toe the party line.

If Kearney was running on the basis of “changing Labor from within”, that interview would have been the perfect time to declare she would vote with her conscience on refugees. What would Bill Shorten have done – had her deselected?

But so entrenched is the ALP left in the apolitical factional wheeling and dealing that characterises modern Labor, that the thought wouldn’t have occurred to them. They just meekly defended the binding caucus rules that make it impossible for any left wing Labor politician to pursue a left wing agenda.

It has (belatedly) become fashionable in the Labor left to talk favourably about the Corbyn phenomenon in British Labour, and even to use his example as an argument about how the left can change the ALP.

Do they think Corbyn would ever have emerged as such a galvanising figure if he had spent the last four decades bowing to the right, raising disagreements in the privacy of the caucus room and at conferences but staying dutifully silent in public and raising his hand with the Blairites in every parliamentary vote?

Corbyn is a hero to so many on the left because, when he went into parliament, he didn’t stay silent. He organised and spoke out on every issue of social and economic justice. During his time in parliament, he has voted against his own party more than 400 times. Most famously, he voted against the war in Iraq and gave speeches to huge Stop the War demonstrations, eviscerating the leaders of his party for their shameful policies.

If Kearney were going into parliament with that approach, there would be a strong argument for voting for her above the Greens. But all we have here is a Laborite version of the Greens’ “virtue signalling” that ALP supporters whine so much about – a politician who will vote in parliament to continue torturing refugees, but promises to feel terrible about it.

On other issues, there are plenty of legitimate criticisms to make of the Greens. Labor activists love attacking the Greens as “tree Tories” because it has a ring of truth. The Greens (well before Di Natale) appealed to more liberal or environmentally minded Liberal voters, middle class people contemptuous of workers and trade unions.

It’s a legitimate criticism (and it’s one some inside the Greens also make), but when Labor campaigners make it, the accusation can only be based on stratospheric hypocrisy.

Labor accuses the Greens of occasionally voting with the Liberals to back right wing measures. Fair enough – until you consider that Labor votes with the Liberals against progressive Greens legislation all the time. On marriage equality, industrial relations, refugees, welfare spending, taxation – you name it – Labor has time and again voted alongside the Liberals to defeat progressive policy proposed by the Greens.

Labor criticises the Greens for cynically appealing to right wing voters. But cynically appealing to right wing voters is the entire basis of Labor’s reactionary refugee policy.

Labor attacks the Greens for orienting to the inner city middle class, ignoring that the ALP is the B-Team of the Australian ruling class, up to its eyeballs in dodgy deals with property developers, the gambling industry and all the bastions of big capital that make Greens-voting CEOs of IT start-ups in Fitzroy look about as rich as 15th century Russian serfs.

And Labor’s alliance with the big end of town is reflected in its policies. Take industrial relations. Possibly the most appalling aspect of this campaign was the huge mobilisation of the trade union movement – led by Victorian Trades Hall – to back Labor against the Greens in Batman.

Trades Hall’s focus in recent years on mobilising an army of supporters for election campaigns was problematic enough as it was – replacing any real attempt to rebuild industrial strength with a kind of GetUp! unionism that has done nothing to address the huge crisis the labour movement faces.

But at least until now their campaigns generally targeted the Liberals. What we have seen over the last month is a shameful mobilisation by ALP operatives in the unions to defeat a party that has an industrial policy substantially better than the Labor Party’s.

The “change the rules” campaign being run by the ACTU is aimed at demanding changes to the Fair Work system – anti-union laws introduced by the last Labor government.

Helping Labor defeat Greens might have helped some union officials book their future seats in parliament or strengthen their factional position in the ALP, but it has done nothing for the real interests of trade unions and is definitely not the “victory for the labour movement” that Trades Hall secretary Luke Hilakari described it as.

But much as the Batman campaign highlighted problems with Labor and the unions, it also revealed the weakness of the Greens. The union campaign had an impact precisely because the Greens make it easy to depict them as representatives of a sanctimonious well-off elite disconnected from the economic concerns of workers.

The Greens campaign was hindered by internal saboteurs, and it is possible that if it wasn’t for rats running to the Murdoch press with slanders against Alex Bhathal, they might have gotten over the line.

Even so, the relentless focus on refugees and Adani, to the exclusion of almost everything else, seems to have done the Greens no favours. On paper, they have better policies than Labor on issues such as schools and health, which Kearney ran hard on. But because they have for so long positioned themselves as a party of moral values, rather than as fighters for the economic interests of ordinary people, Labor outdid them on these bread and butter issues.

All of this points to a fundamental problem with left politics in Australia.

On the one hand, you have the Labor Party, which uses its base in the unions to position itself as the party that fights for workers, but has done next to nothing in office to slow the ever expanding gap between rich and poor, or reverse collapsing social infrastructure.

At the same time, Labor goes along with all the reactionary Liberal policies on things like race, law and order and refugees, and the best the left of the party can offer is MPs who will “work behind the scenes” to change ALP policy – an approach that, 16 years after the Tampa, is as close as it is possible to get to a scientifically proven impossibility.

On the other hand, you have the Greens. They emerged as a force in Australian politics at the turn of the century. But almost two decades later, they have abandoned whatever there was of their early radicalism and have no orientation toward being a party that can stand up for working class people betrayed by Labor.

Indicative of this is that the Greens have no organised presence inside the trade unions, no orientation to rebuilding rank and file militancy and no idea that they should try to break unions from the ALP stranglehold.

Leftists who can see the problems with both Labor and the Greens have to start talking about rebuilding a serious socialist movement in Australia. We need an alternative that is unequivocal in its defence of refugees, Muslims, Indigenous people and all those targeted for endless victimisation by the right, but also has working class politics as its starting point.

That’s the history of the left. Working class people – unionists and usually socialists – throughout the 20th century championed foundational struggles for Aboriginal rights and equal pay for women, and against wars and jingoistic racism.

The decades of retreat by the left from the 1980s meant this history was mostly forgotten, and the right wing myth of “battlers vs. elites” took hold and finds expression in the contemporary ALP vs. Greens debates.

It’s time for a new course.