The match played at the Stade Seyni Kountche in Niamey saw the Malians take the lead against the run of play.
Despite dominating the game in the first half with 63 percent possession as against 37 percent for Mali, the Flying Eagles squandered several scoring chances and the first stanza ended goalless.
The Malians stepped up their game in the second half and were rewarded with a goal scored in the 78th by Mamadou Traole.
The Flying Eagles got the equalizer in the 86th to level scores at 1-1.
The two sides could not score the winning goal in regulation time and the 30-minute extra time and the match went into penalties.
The Malians converted 4 of their penalty 5 kicks while the Flying Eagles only scored 3 out of 5.
The Malians will play the winner of the second semi-finals between Senegal and South Africa later on Wednesday for their first final match in the U-20 AFCON tournament.