The boat, believed to be carrying 60 people, capsized late on Monday in the remote northern district of Karonga.
Police say the boat arrived from Tanzania.
A BBC correspondent in Malawi says the country has become a key staging post for migrants fleeing drought and conflict in Somalia and Ethiopia, and trying to reach South Africa.
Initial reports said the migrants were from Somalia but a team from the UN refugee agency which has visited the scene said they were from Ethiopia.
Northern Region police spokeswoman Norah Chimwala told the BBC that 47 bodies had been recovered so far.
Police have not found any survivors and the other migrants are feared dead as the water in Lake Malawi is cold in the Southern Hemisphere winter.
Ms Chimwala said the boat may have capsized due to being overloaded with people and goods.