The Burkinabes were also very physical and forced Nigeria to make two changes as a result of injuries – Umar Aminu was replaced by Kingsley Sokari in the 48th minute and 10 minutes later, Mustapha Abdullahi came on for the injured Ndifreke Effiong.
Burkina Faso made the most of their chances, while Nigeria was wasteful in front of goal and paid the price for such wastefulness.
Burkina Faso, who only advanced to the semi-final of the tournament by the luck of the draw after they were tied on all statistics with Sudan, went in front after 12 minutes when defender Seth Sincere put the ball through his own net.
Burkina Faso doubled their lead after 73 minutes through Omar Kabore, before substitute Etor Daniel reduced the deficit in the 75 minutes after good work by Junior Ajayi.
But just when it looked like Nigeria will stage a remarkable comeback, Burkina Faso increased their lead to 3-1 in the 78th minute courtesy of Arba Dicko.
Burkina will now slug it out with Senegal, who were deserved 3-1 winners against home team Congo in the other semi-final on Tuesday.