The result means the Young Flames have two wins from two games in the three-team pool that also includes Seychelles and cannot be caught at the top of the group. Lesotho had the ball in the back of the net midway through the first half, but Litsepe Marabe's effort is ruled offside.
They continued to dominate and it was totally against the run of play when Malawi took the lead. Isaac Maluwa scored his second goal of the tournament when he fired home from long-range as the Lesotho defence gave him the space to shoot.
The Malawians took complete control of the game soon after halftime as Maluwa grabbed his second after latching on to a long ball. That looked like game-over, but Lesotho mounted a come-back.
Marabe found the bottom corner of the net from just inside the box, before he netted again via a penalty with 12 minutes remaining on the clock following a foul on Lehlomela Ramabele.
But Lesotho could not force an equaliser and Malawi advance to the Last 4 on their return to the regional championship after some years absent.
Meanwhile, the 10 men of Tanzania held South Africa to a 1-1 draw in their Group C clash at the Molepolole Stadium.
The East African side took the lead through Rashid Issa on 14 minutes as his first time connection from a corner by Simon Msuvan eluded everyone.
But the lead lasted just six minutes as Thabani Mthembu provided a neat finish to bring South Africa level at 1-1.
Tanzania were reduced to 10 men on 50 minutes as Msuvan received his second yellow card, but despite their numerical disadvantage for most of the remainder of the match and a barrage of South African attacks, held out for the draw.
South African Pogiso Mahlangu received a late red too for a challenge on the goalkeeper.
In the second game of the day in Group C, defending champions Zambia kept their hopes alive of a place in the semifinals with a 4-0 victory over Mauritius in Molepolole.
Reynold Kampamba netted a brace for the Young Chipolopolo, while Shadreck Malambo and Evans Kangwa scored the others.
It sets up a winner-takes-all clash between the Zambians and South Africa on Tuesday to decide the pool, though Tanzania will be hoping for a draw, and that they beat Mauritius, which would leave all three teams on five points.
In Group A, Mozambique took pole position in the pool with a 3-1 success over Swaziland in Gaborone.
The game started with a flurry of goals as three were scored inside the opening 26 minutes. Luis Parkim opened the scoring for Mozambique, but Swaziland equalised with a beautiful long-range striker from Mthunzi Mkhonto.
The Young Mambas were back in the lead when Clesio Baque scored for them from just outside the box and they made the points safe as Bauque threaded a pass to Jonas Tomocene, who made it 3-1.
Time: 15:30 GMT
SWAZILAND 1 (14' Mthunzi Mkhonto)
MOZAMBIQUE 3 (12' Luis Parkim, 26' Clesio Baque, 87' Jonas Tomocene)
Swaziland: Bheka Christie, Sibusiso Dlamini, Sabelo Shongwe (34' Sibonelo Dlamini), Njabulo Ndlovu, Muzi Dlamini, Senzo Dlamini (80' Mlamuli Nkambule), Mndeni Mamba, Mthunzi Mkhonto, Machawe Dlamini, Sanikelo Gumbi, Sibonginkosi Gamedze.
Mozambique: Jose Guirungo, Jonas Tomocene, Osvaldo Sunde, Joaquim Victor (73' Jorge Mahorre), Alberto Muchanga (61' Dercio Mantimbe), Luis Parkim, Denisse Javane, Edson Almeida (76' Jose Premo), Clesio Baque, Mamo Saide, Bakanda Cisse.
Booked: 63' Senzo Dlamini (Swaziland), 83' Jose Guirungo (Mozambique)
Referee: Leso Kutlwano (Botswana)
Venue: UB Stadium
Time: 13:00 GMT
MALAWI 3 (34', 49' Isaac Maluwa, 40' Tony Chitsulo)
LESOTHO 2 (52', 78 PG Letsepe Marabe)
Booked: 29' Brown Mizeyi (Malawi)
Referee: Lekgotla Johannes (Botswana)
Time: 14:00 GMT
TANZANIA 1 (14' Issa Rashid Issa)
SOUTH AFRICA 1 (20' Thabani Mthembu)
Tanzania – Jackson Wandwi, Hassan Khamis Kessy, Issa Rashid Issa (C), Said Samir, Frank Domayo Raymond, Seme Omega Sunday, Atupele Jackson (56' Emilu Mgeta Josiah), Simon Msuvan Happygod, Aman Kyata Peter, Edward Christopher Shija, Frank James Sekule
South Africa – Bongani Mpandhle, Sanele Khuzwayo, Mthokozisi Dube, Junior Sibande, Miquel Timm (C, 77' Pogiso Mahlangu), Mbongeni Gumede, Snethemba Ngidi, Cebo Meyiwa, Andile Khena (57' Jerry Mxabo), Thabani Mthembu, Letsie Koapeng (64' Seun Ledwaba)
Booked: 11' Hassan Kessy, 80' Edward Shija (Tanzania), 60' Junior Sibande (South Africa)
Dismissed: 50' Issa Rashid Issa (Tanzania), 89' Pogiso Mahlangu (South Africa)
Referee: Kangoso (Madagascar)
Time: 16:30 GMT
ZAMBIA 4 (31', 67' Ronald Kampamba, 46' Shadreck Malambo, 79' Evans Kangwa)
Mauritius – Caserne Christopher, Soopal Warren, Calambe Herzy (84' Michael Cammage), Bryan Bertin, Moedine Bradley, Moutou Yannick, Jean Daniel Sophie (75' Rosalane Patrice), Antoine Clarel, Oudel Pascal, Citoran Brendon, Stephen Nabad
Zambia – Moses Mapulanga, Chishimba Changala, Moses Siansumo, Alex Sichone (52' Malan Gondwe), Amos Simwanza, Kizito Cheelo, Shadreck Malambo, Shadreck Mayembe (52' Patrick Sakala, 75' Julius Sithumbeko), Evans Kangwa, Ronald Kampamba, Bruce Musakanya
Booked: 51' Moutou Yannick, 71' Soopal Warren (Mauritius)
Referee: Bamala (Zimbabwe)
01/12/2011 (14:00 GMT) - Botswana vs. Mozambique 0-0
04/12/2011 (15:30 GMT) - Swaziland vs. Mozambique 1-3
06/12/2011 (14:30 GMT) - Swaziland vs. Botswana
- Mozambique 4 pnts
- Botswana 1
- Swaziland 0
01/12/2011 (16:30 GMT) - Seychelles vs. Malawi 0-2
04/12/2011 (13:00 GMT) - Malawi vs. Lesotho 3-2
05/12/2011 (15:30 GMT) - Lesotho vs. Seychelles
- Malawi 6 pnts
- Lesotho 0
- Seychelles 0
02/12/2011 (13:00 GMT) - South Africa vs. Mauritius 4-0
02/12/2011 (15:30 GMT) - Zambia vs. Tanzania 3-3
04/12/2011 (14:00 GMT) - Tanzania vs. South Africa 1-1
04/12/2011 (16:30 GMT) - Mauritius vs. Zambia 0-4
06/12/2011 (12:00 GMT) - South Africa vs. Zambia
06/12/2011 (12:00 GMT) - Tanzania vs. Mauritius
- Zambia 4 pnts
- South Africa 4
- Tanzania 2
- Mauritius 0
02/12/2011 (13:00 GMT) - Angola vs. Madagascar 1-0
02/12/2011 (15:00 GMT) - Namibia vs. Zimbabwe 1-1
05/12/2011 (13:00 GMT) - Zimbabwe vs. Angola
05/12/2011 (18:00 GMT) - Madagascar vs. Namibia
06/12/2011 (17:00 GMT) - Madagascar vs. Zimbabwe
06/12/2011 (17:00 GMT) - Namibia vs. Angola
- Angola 3 pnts
- Namibia 1
- Zimbabwe 1
- Madagascar 0
08/12/2011 (12:00 GMT) - Winner A vs. Winner C
08/12/2011 (14:30 GMT) - Malawi vs. Winner D
3rd / 4th Play-Off
10/12/2011 (09:00 GMT)
10/12/2011 (13:00 GMT)