What you need to know:
- A draw would have been enough for Uganda, while victory was the only way out for Malawi, and they did it their way.
- As a result, Uganda will, now, for the first time in three successive editions miss Africa's biggest football showpiece having played at Gabon 2017 and Egypt 2019.
- The inquest will start almost immediately. Was interrupting McKinstry necessary?
When Nicholas Wadada planted his right boot into the Kamuzu Stadium artificial turf as the Cranes desperately attacked Monday evening, you knew it was over.
The right back had been on the end of one of Cranes' attacking waves as the clock ticked down, but rather than whip in the cross for begging white shirts, he dug into the ground. Painfully!
A pain that was felt in the hearts of 44 million Ugandans back home, many of whom endured an even more painful internet buffering to catch the action via the few horrible links available.
The journey that started with Uganda picking eight points from their first three games had ended with the Cranes managing only one in the final three. Only three goals were scored.
And with Malawi picking six from their final three games, you can't begrudge the Flames for beating coach Abdallah Mubiru's men to next year's Africa Cup of Nations (Afcon) ticket in Cameroon.
The 0-1 defeat to Malawi Monday, toned by pre-match Covid politics, meant Uganda finished third in Group B on eight points, three behind their day's tormentors.
Burkina Faso, who face South Sudan in a late kickoff, secured their Afcon slot with that goalless draw in Uganda last week. Meanwhile, the bad blood in Blantyre had spilled hours before kickoff.
The Malawian FA outed positive Covid results for midfielder Taddeo Lwanga, contrary to the negative ones Fufa had obtained from a Caf accredited testing centre.
Fufa quickly wrote to Caf requesting they consider the results from the SADC Accredited Laboratory, which is under the same Management as Queens Central Hospital - certified by the continental body.
They got their wish and Lwanga was named on the bench. You could argue the coach's plans and psych of the team could have been affected.
Once action got underway, there was little to suggest ambition from the two sides in early exchanges, with both goalkeepers hardly employed.
But soon there was. Uganda asked the first questions, Ibrahim Orit hacked down the right, but Mustafa Kizza's freekick could not harm a fly. The punishment was waiting the other end.
Malawi attacked through the right, left back Joseph Ochaya allowing Stanley Sanudi space.
The Malawi right back floated it in for Richard Mbulu, scorer in the 1-0 victory over South Sudan last week, to out-manoeuvre Ronald Mukiibi and head past Denis Onyango on 16 minutes.
Emmanuel Okwi could have levelled the scores when he darted into the area two minutes later, but goalkeeper Ernest Kakhobwe's fingers had it come off the upright and out.
Mukiibi was to later hobble off injured and in came youngster Gavin Kizito.
Mubiru, who was tasked alongside Livingston Mbabazi and Fred Kajoba to steer the side in the final two games after coach Johnny McKinstry was abruptly asked to step aside, sought to find more answers.
He threw on Lwanga for Azira, Allan Okello for Faruku Miya and later Yunus Sentamu for Orit.
But the more the Cranes pushed through Moses Waiswa, Emmanuel Okwi and company, the more Malawi grew defiant. Defiant and venomous.
They could have actually scored more but for Onyango's intervention - twice stopping the hosts attackers with Gavin Kizito and Murushid Juuko beaten.
A draw would have been enough for Uganda, while victory was the only way out for Malawi, and they did it their way.
As a result, Uganda will, now, for the first time in three successive editions miss Africa's biggest football showpiece having played at Gabon 2017 and Egypt 2019.
The inquest will start almost immediately. Was interrupting McKinstry necessary?
What next now, with the World Cup qualifiers upon us? Does Mubiru continue, or do Fufa revert to a foreign coach?
Denis Onyango, Nicholas Wadada, Joseph Ochaya, Murushid Juuko, Ronald Mukiibi, Mike Azira, Moses Waiswa, Faruku Miya, Mustafa Kizza, Ibrahim Orit, Emmanuel Okwi
Gavin for Mukiibi, Taddeo for Azira, Okello for Miya, Yunus for Orit
Magoola Salim Jamal, Halid Lwaliwa, Bobosi Byaruhanga, Lumala Abdu, Kizito Luwagga, Kigonya Mathias, Isiagi Daniel, Lukwago Charles