Melaka ditawan oleh Alfonso de Albuquerque, seorang Wizurai Portugis pada 24 Ogos 1511 dan menjadikannya suatu pangkalan strategik bagi pengembangan pihak Portugis di Hindia Timur. Sultan Mahmud Shah, Sultan terakhir Melaka, melarikan diri ke daerah pedalaman dan menyebabkan kesukaran kepada pihak Portugis dengan serangan sekejap-sekejap dari tanah daratan dan laut. Akhirnya, pada tahun 1526, seangkatan kapal yang besar di bawah Pedro Mascarenhaas dihantar oleh negeri Portugal untuk memusnahkan bandar Bentan yang melindungi Sultan Mahmud. Sultan Mahmud terpaksa melarikan diri melintasi Selat Melaka ke Kampar, Sumatra di mana beliau mangkat dua tahun kemudian.
St. Francis Xavier, seorang mubaligh Jesuit, tinggal di Melaka selama beberapa bulan pada tahun 1545, 1546 dan 1549 kerana hendak menjadikan Melaka sebagai pusat operasinya di Timur.
Pada tahun 1641, pihak Belanda menakluk Melaka dengan penewasan pihak Portugis melalui bantuan Sultan Johor. Walaubagaimanapun, pihak Belanda tidak berminat menjadikan Melaka sebagai sebuah pusat perdagangan di antara Timur dan Barat tetapi mereka lebih mementingkan pembangunan Batavia (Jakarta) di Indonesia sebagai pusat pentadbiran mereka.
Pihak Belanda menyerahkan Melaka kepada pihak British mengikut Perjanjian British-Belanda pada tahun 1824. Dari 1826 hingga 1867, Melaka diperintah oleh Syarikat Hindia-Timur British (British East India Company), dan kemudiannya menjadi sebuah tanah jajahan British. Ia menjadi sebahagian Petempatan Selat (Straits Settlement), bersama-sama dengan Singapura dan Pulau Pinang pada tahun 1946. Selepas pembubaran tanah jajahan, Melaka dan Pulau Pinang menjadi sebahagian Malayan Union yang kemudiannya menjadi Malaysia.
Melaka diisytiharkan sebagai "Bandaraya Bersejarah" pada 15 April 1989.