Bakaye Traore's deflected shot flew past Moussa Yattara in Guinea's goal for the decider in the 30th minute.
Guinea had surged forward in the opening stages and Mali goalkeeper Soumaila Diakite had to make a save inside 60 seconds. Striker Ismael Bangoura also had a strong header palmed away by Diakite.
Barry Ousmane missed another chance for Guinea in the 66th when he failed to connect with a cross from the left by fellow substitute Abdoul Razzagui Camara.
Mali matched title contender Ghana, which was forced to hang on with 10 men for a 1-0 win over unfancied Botswana in the early game at Stade de Franceville.