Keir Starmer angered the left of his party this week by sacking Rebecca Long-Bailey from the shadow cabinet. But after Boris Johnson refused to sack members of his team, who are accused of law-breaking and corruption, the Labour leader's decisiveness was arguably more of a blow to the prime minister.
At least, that's what Starmer's supporters are hoping as they're buoyed by an Opinium poll this weekend that put Starmer two points ahead of Johnson as preferred prime minister.
The problem for Starmer is that Johnson actually is the PM and the next election is [1.56] to be no sooner than 2024. When it comes to voting intention the same pollster put Johnson's party four points ahead of Starmer's.
On the Exchange Starmer is [3.05] favourite to be Britain's next prime minister. But concerns about Johnson's health, and his colleagues' waning confidence in his leadership, mean there could well be another Tory PM in Downing Street before the next general election.
And even if Johnson does stay in the top job that long, the Tories' 80-seat majority means it would take an almost unprecedented turnover of seats to put Starmer in Downing Street with his own majority.
A Tory majority at the next election is [3.15], a Labour majority is [3.25] and No Overall Majority is [2.6]. If it's the latter - and the Conservatives take most seats at [1.81] - then we could end up with a minority Tory government initially lead by Johnson before a new figure within the party takes over to lead them into the following election.
Starmer shaping up for his own Militant moment?
It's always an interesting one, a former-leadership rival serving in a new cabinet, and perhaps Long-Bailey shouldn't have bothered. Many ex-leadership hopefuls choose not to do it and, when they do, it rarely works out.
Famously, David Miliband was so peeved at losing the 2010 Labour leadership contest to his brother Ed that the onetime great bright hope of British centrism quit politics.
In 2015, Andy Burnham, who came second to Corbyn that year, put on a brave face as shadow home secretary before quitting to become Mayor of Manchester.
There are various Tory versions, the most recent being Jeremy Hunt, who last summer lost the final round of the Tory leadership election, and has since become an occasional critic of Johnson's handling of the pandemic. Hunt still harbours leadership ambitions and is [16.0] to succeed Johnson.
Nobody can be under any illusions that Starmer is serious about adopting a zero tolerance policy on antisemitism, after Long-Bailey was dismissed for retweeting an article that allegedly contained an antisemitic conspiracy theory.
Ed Miliband spelled out Starmer's intention on the Andrew Marr show today when he said: "We cannot have a debate at the next election about whether Labour is an anti-Semitic party." Miliband also backed Starmer to be a better leader than he was and had a nice quip about the divisions between Labour's factions: "Sometimes we're good at burying our similarities."
For all Starmer's talk of wanting to unite Labour, sacking Long-Bailey removes a left-winger with strong connections to John McDonnell and Corbyn.
It reminds me of Neil Kinnock who saw confronting his party's militant wing in the mid-1980s as an important step in putting Labour on the path to electoral respectability. Expect more showdowns like this in the coming months.
In the meantime, though, Starmer's move makes Johnson look shabby and indecisive by comparison, first because of his failure to sack Dominic Cummings for breaking lockdown and second because of his insistence that he will not censure the housing minister Robert Jenrick about whom there were more murky allegations this weekend.
Johnson has been shameless in retaining his allies in government and has shown a determination to brazen out pressure to dismiss them. This week Starmer showed that we can expect something different from his leadership. It may well go down well with the voters.