The majority of the migrants were Syrians, Iraqis, Somalis and Kurds, and the group included ten children, according to the Greek ministry of the merchant navy.
The rescue took place as tensions are escalating with Turkey over maritime rights, and the Greek ministry criticised two Turkish patrol boats in the area for failing to take part in the operation.
The rescue operation began on Tuesday evening after the port police were informed about a yacht in a difficulty and which had sent out a distress signal.
The migrants had originally boarded on the Turkish coast, one of the routes smugglers use to get migrants to the European Union through nearby Greek islands.
Four coastguard patrol boats, a rescue boat, a naval vessel, five cargo ships navigating the area and an air force helicopter took part in the rescue, the ministry said in a statement.
Read also: Comment: France and UK play blame game as migrants wash up dead on their shores
Among the survivors, the Greek authorities have identified three suspected smugglers.
Greece and Turkey have both sent warships into the eastern Mediterranean as their dispute over gas exploration rights escalates.
Agencies contributed to this report.
Follow us on Facebook, Twitter and Instagram to stay connected