Pelabuhan Kalapa telah dikenal semenjak abad ke-12 dan kala itu merupakan pelabuhan terpenting Pajajaran. Kemudian pada masa masuknya Islam dan para penjajah Eropa, Kalapa diperebutkan antara kerajaan-kerajaan Nusantara dan Eropa. Akhirnya Belanda berhasil menguasainya cukup lama sampai lebih dari 300 tahun. Para penakluk ini mengganti nama pelabuhan Kalapa dan daerah sekitarnya. Namun pada awal tahun 1970-an, nama kuno Kalapa kembali digunakan sebagai nama resmi pelabuhan tua ini dalam bentuk "Sunda Kelapa". Menurut penulis Portugis Tomé Pires, Kalapa adalah pelabuhan terbesar di Jawa Barat, selain Sunda (Banten), Pontang, Cigede, Tamgara dan Cimanuk yang juga dimiliki Pajajaran. Sunda Kelapa yang dalam teks ini disebut Kalapa dianggap pelabuhan yang terpenting karena dapat ditempuh dari ibu kota kerajaan yang disebut dengan nama Dayo (dalam bahasa Sunda modern: dayeuh yang berarti kota) dalam tempo dua hari.
Pelabuhan ini telah dipakai sejak zaman Tarumanagara dan diperkirakan sudah ada sejak abad ke-5 dan saat itu disebut Sundapura. Pada abad ke-12, pelabuhan ini dikenal sebagai pelabuhan lada yang sibuk milik Kerajaan Sunda, yang memiliki ibukota di Pakuan Pajajaran atau Pajajaran yang saat ini menjadi Kota Bogor. Kapal-kapal asing yang berasal dari Tiongkok, Jepang, India Selatan, dan Timur Tengah sudah berlabuh di pelabuhan ini membawa barang-barang seperti porselen, kopi, sutra, kain, wangi-wangian, kuda, anggur, dan zat warna untuk ditukar dengan rempah-rempah yang menjadi komoditas dagang saat itu. Pada akhir abad ke-15 dan awal abad ke-16, para penjelajah Eropa mulai berlayar mengunjungi sudut-sudut dunia. Bangsa Portugis berlayar ke Asia dan pada tahun 1511, mereka bahkan bisa merebut kota pelabuhan Malaka, di Semenanjung Malaka. Malaka dijadikan basis untuk penjelajahan lebih lanjut di Asia Tenggara dan Asia Timur. Tome Pires, salah seorang penjelajah Portugis, mengunjungi pelabuhan-pelabuhan di pantai utara Pulau Jawa antara tahun 1512 dan 1515. Ia menggambarkan bahwa pelabuhan Sunda Kelapa ramai disinggahi pedagang-pedagang dan pelaut dari luar seperti dari Sumatra, Malaka, Sulawesi Selatan, Jawa dan Madura. Menurut laporan tersebut, di Sunda Kelapa banyak diperdagangkan lada, beras, asam, hewan potong, emas, sayuran serta buah-buahan.
Laporan Portugis menjelaskan bahwa Sunda Kelapa terbujur sepanjang satu atau dua kilometer di atas potongan-potongan tanah sempit yang dibersihkan di kedua tepi sungai Ciliwung. Tempat ini ada di dekat muaranya yang terletak di teluk yang terlindung oleh beberapa buah pulau. Sungainya memungkinkan untuk dimasuki 10 kapal dagang yang masing-masing memiliki kapasitas sekitar 100 ton. Kapal-kapal tersebut umumnya dimiliki oleh orang-orang Melayu, Jepang dan Tionghoa. Di samping itu ada pula kapal-kapal dari daerah yang sekarang disebut Indonesia Timur. Sementara itu kapal-kapal Portugis dari tipe kecil yang memiliki kapasitas muat antara 500 - 1.000 ton harus berlabuh di depan pantai. Tome Pires juga menyatakan bahwa barang-barang komoditas dagang Sunda diangkut dengan lanchara, yaitu semacam kapal yang muatannya sampai kurang lebih 150 ton.
Lalu pada tahun 1522 Gubernur Alfonso d'Albuquerque yang berkedudukan di Malaka mengutus Henrique Leme untuk menghadiri undangan raja Sunda untuk membangun benteng keamanan di Sunda Kalapa untuk melawan orang-orang Cirebon yang bersifat ekspansif. Sementara itu kerajaan Demak sudah menjadi pusat kekuatan politik Islam. Orang-orang Muslim ini pada awalnya adalah pendatang dari Jawa dan merupakan orang-orang Jawa keturunan Arab.
Maka pada tanggal 21 Agustus 1522 dibuatlah suatu perjanjian yang menyebutkan bahwa orang Portugis akan membuat loji (perkantoran dan perumahan yang dilengkapi benteng) di Sunda Kelapa, sedangkan Sunda Kelapa akan menerima barang-barang yang diperlukan. Raja Sunda akan memberikan kepada orang-orang Portugis 1.000 keranjang lada sebagai tanda persahabatan. Sebuah batu peringatan atau padraõ dibuat untuk memperingati peristiwa itu. Padrao dimaksud disebut sebagai layang salaka domas dalam cerita rakya Sunda Mundinglaya Dikusumah. Padraõ itu ditemukan kembali pada tahun 1918 di sudut Prinsenstraat (Jalan Cengkeh) dan Groenestraat (Jalan Nelayan Timur) di Jakarta. Kerajaan Demak menganggap perjanjian persahabatan Sunda-Portugal tersebut sebagai sebuah provokasi dan suatu ancaman baginya. Lantas Demak menugaskan Fatahillah untuk mengusir Portugis sekaligus merebut kota ini. Maka pada tanggal 22 Juni 1527, pasukan gabungan Demak-Cirebon di bawah pimpinan Fatahillah (Faletehan) merebut Sunda Kelapa. Tragedi tanggal 22 Juni inilah yang hingga kini selalu dirayakan sebagai hari jadi kota Jakarta. Sejak saat itu nama Sunda Kelapa diganti menjadi Jayakarta. Nama ini biasanya diterjemahkan sebagai kota kemenangan atau kota kejayaan, namun sejatinya artinya ialah "kemenangan yang diraih oleh sebuah perbuatan atau usaha" dari bahasa Sanskerta.
Kekuasaan Demak di Jayakarta tidak berlangsung lama. Pada akhir abad ke-16, bangsa Belanda mulai menjelajahi dunia dan mencari jalan ke timur. Mereka menugaskan Cornelis de Houtman untuk berlayar ke daerah yang sekarang disebut Indonesia. Eskspedisinya walaupun biayanya tinggi dianggap berhasil dan Vereenigde Oostindische Compagnie (VOC) didirikan. Dalam mencari rempah-rempah di Asia Tenggara, mereka memerlukan basis pula. Maka dalam perkembangan selanjutnya pada tanggal 30 Mei 1619, Jayakarta direbut Belanda di bawah pimpinan Jan Pieterszoon Coen yang sekaligus memusnahkannya. Di atas puing-puing Jayakarta didirikan sebuah kota baru. J.P. Coen pada awalnya ingin menamai kota ini Nieuw Hoorn (Hoorn Baru), sesuai kota asalnya Hoorn di Belanda, tetapi akhirnya dipilih nama Batavia. Nama ini adalah nama sebuah suku Keltik yang pernah tinggal di wilayah negeri Belanda dewasa ini pada zaman Romawi.
Menurut catatan sejarah, pelabuhan Sunda Kelapa pada masa awal ini dibangun dengan kanal sepanjang 810 meter. Pada tahun 1817, pemerintah Belanda memperbesarnya menjadi 1.825 meter. Setelah zaman kemerdekaan, dilakukan rehabilitasi sehingga pelabuhan ini memiliki kanal sepanjang 3.250 meter yang dapat menampung 70 perahu layar dengan sistem susun sirih. Sekitar tahun 1859, Sunda Kalapa sudah tidak seramai masa-masa sebelumnya. Akibat pendangkalan, kapal-kapal tidak lagi dapat bersandar di dekat pelabuhan sehingga barang-barang dari tengah laut harus diangkut dengan perahu-perahu. Kota Batavia saat itu sebenarnya sedang mengalami percepatan dan sentuhan modern (modernisasi), apalagi sejak dibukanya Terusan Suez pada 1869 yang mempersingkat jarak tempuh berkat kemampuan kapal-kapal uap yang lebih laju meningkatkan arus pelayaran antar samudera. Selain itu Batavia juga bersaing dengan Singapura yang dibangun Raffles sekitar tahun 1819. Maka dibangunlah pelabuhan samudera Tanjung Priok, yang jaraknya sekitar 15 km ke timur dari Sunda Kelapa untuk menggantikannya. Hampir bersamaan dengan itu dibangun jalan kereta api pertama (1873) antara Batavia - Buitenzorg (Bogor). Empat tahun sebelumnya (1869) muncul trem berkuda yang ditarik empat ekor kuda, yang diberi besi di bagian mulutnya.
Selain itu pada pertengahan abad ke-19 seluruh kawasan sekitar Menara Syahbandar yang ditinggali para elit Belanda dan Eropa menjadi tidak sehat. Dan segera sesudah wilayah sekeliling Batavia bebas dari ancaman binatang buas dan gerombolan budak pelarian, banyak orang Sunda Kalapa berpindah ke wilayah selatan. Pada masa pendudukan oleh bala tentara Dai Nippon yang mulai pada tahun 1942, Batavia diubah namanya menjadi Jakarta. Setelah bala tentara Dai Nippon keluar pada tahun 1945, nama ini tetap dipakai oleh Belanda yang ingin menguasai kembali Indonesia. Kemudian pada masa Orde Baru, nama Sunda Kelapa dipakai kembali. Berdasarkan Surat Keputusan Gubernur DKI Jakarta No.D.IV a.4/3/74 tanggal 6 Maret 1974, nama Sunda Kelapa dipakai lagi secara resmi sebagai nama pelabuhan. Pelabuhan ini juga biasa disebut Pasar Ikan karena di situ terdapat pasar ikan yang besar. Pada saat ini Pelabuhan Sunda Kelapa direncanakan menjadi kawasan wisata karena nilai sejarahnya yang tinggi. Saat ini Pelabuhan Sunda Kelapa adalah salah satu pelabuhan yang dikelola oleh PT Pelindo II yang tidak disertifikasi International Ship and Port Security karena sifat pelayanan jasanya hanya untuk kapal antar pulau.
Saat ini pelabuhan Sunda Kelapa memiliki luas daratan 760 hektar serta luas perairan kolam 16.470 hektar, terdiri atas dua pelabuhan utama dan pelabuhan Kalibaru. Pelabuhan utama memiliki panjang area 3.250 meter dan luas kolam lebih kurang 1.200 meter yang mampu menampung 70 perahu layar motor. Pelabuhan Kalibaru panjangnya 750 meter lebih dengan luas daratan 343.399 meter persegi, luas kolam 42.128,74 meter persegi, dan mampu menampung sekitar 65 kapal antar pulau dan memiliki lapangan penumpukan barang seluas 31.131 meter persegi.
Dari segi ekonomi, pelabuhan ini sangat strategis karena berdekatan dengan pusat-pusat perdagangan di Jakarta seperti Glodok, Pasar Pagi, Mangga Dua, dan lain-lainnya. Sebagai pelabuhan antar pulau Sunda Kelapa ramai dikunjungi kapal-kapal berukuran 175 BRT. Barang-barang yang diangkut di pelabuhan ini selain barang kelontong adalah sembako serta tekstil. Untuk pembangunan di luar pulau Jawa, dari Sunda Kelapa juga diangkut bahan bangunan seperti besi beton dan lain-lain. Pelabuhan ini juga merupakan tujuan pembongkaran bahan bangunan dari luar Jawa seperti kayu gergajian, rotan, kaoliang, kopra, dan lain sebagainya. Bongkar muat barang di pelabuhan ini masih menggunakan cara tradisional. Di pelabuhan ini juga tersedia fasilitas gudang penimbunan, baik gudang biasa maupun gudang api.
Dari segi sejarah, pelabuhan ini pun merupakan salah satu tujuan wisata bagi DKI. Tidak jauh dari pelabuhan ini terdapat Museum Bahari yang menampilkan dunia kemaritiman Indonesia masa silam serta peninggalan sejarah kolonial Belanda masa lalu. Di sebelah selatan pelabuhan ini terdapat pula Galangan Kapal VOC dan gedung-gedung VOC yang telah direnovasi. Selain itu pelabuhan ini direncanakan akan menjalani reklamasi pantai untuk pembangunan terminal multifungsi Ancol Timur sebesar 500 hektar.