Survivors told local media that the blaze began in the wooden boat's engine which then set fire to barrels of fuel.
Dozens of migrants, including children, tried to stay afloat for hours while they waited for help.
Two navy vessels went to the aid of the stricken boat off the city of M´Bour on Friday, rescuing 51 survivors, the Senegal defence ministry said.
Local people in their wooden vessels also took part in the rescue mission.
A video shows fishermen picking one man from the water while smoke billows in the background from the stricken boat.
Survivors told Senegalese media there may have been as many as 200 people on board.
“At one point, the engine caught fire. The crew had managed to control the flames. But the flames started again and reached the jerry cans of gasoline. There was a powerful explosion. I jumped up to dive into the sea," Dame Mbengue, a survivor, told Senegal's l'Observateur newspaper.
He said he was among a group of friends who were headed towards Spain and would make the journey again.
Senegal's president Macky Sall tweeted: “It was with great emotion that I learned of the explosion in the high seas that was transporting young compatriots.”
There has been a sharp rise in migrants attempting the long sea crossing to the Canary Islands from West Africa this year, after aid groups said people smugglers changed routes and the Covid-19 pandemic prompted many to try to escape failing economies at home.
According to Spain's interior ministry more than 8,000 migrants have reached the Canary Islands by sea up to mid-October, compared to just 1,000 in the same period of 2019, a rise of nearly 700 per cent.
Join our commenting forum
Join thought-provoking conversations, follow other Independent readers and see their replies