Let’s see if we get this straight: Ricardo Morales was fired as deputy commissioner of citywide administrative services for blowing the whistle on two instances of government corruption. And Harendra Singh pleaded guilty to bribing top de Blasio administration officials for special favors — including ones Morales blocked.

But no one at City Hall — from Mayor Bill de Blasio on down — was even charged, let alone convicted, for corruption.

Morales this week officially filed a long-planned lawsuit against City Hall, and it bolsters what, from the start, we’ve contended is a pretty good case that he was axed as a warning to other whistleblowers.

After 22 years on the municipal payroll — and an Ethics in Government award — Morales was abruptly fired (and removed under armed guard) just hours after the mayor was grilled by federal prosecutors.

Morales had been cooperating with investigators on two matters: the mysterious deed change that allowed the sale of a Lower East Side nursing home to developers, who netted a $72 million profit, and strong-arm efforts to cut Singh a sweetheart deal.

In both cases, Morales insists he tried to stop the kind of “special treatment” prosecutors acknowledge Team de Blasio gave to various fat-cat donors like Singh.

Morales says he was present when a top de Blasio aide pressured his boss to construct a totally false narrative that would exonerate the mayor’s office in the nursing home fiasco.

This even though city Comptroller Scott Stringer later found that the process involved “dozens of administration officials,” including three city commissioners.

As for Singh, by accepting his guilty plea, prosecutors endorsed the veracity of his bribery claim. (For the record, the mayor denies everything.)

We recognize that a Supreme Court ruling has made it unreasonably hard to get a corruption conviction. But the lack of any criminal charges at all simply boggles the mind.