Malatya, Doğu Anadolu Bölgesi'nin batısında, doğu-batı ve kuzey-güney doğrultusunda uzanan yolların kavşağında bulunmaktadır. Karakaya Baraj Gölü altında kalan Cafer Höyük kazılarından elde edilen bulgulara göre Malatya'nın tarihi dokuz bin sene öncesine uzanmaktadır. Orta Asya, Orta Doğu ve Mezopotamya’dan gelen ticarî yolların kesişmesi ve batıya geçit veren bir konumda bulunması nedeniyle Malatya, tarihin her döneminde önemli bir yerleşim merkezi olmuştur.
Malatya, Kültepe kaynaklarında Melita olarak anılmaktadır. Hititçenin çözülmesinde büyük katkısı bulunan Bedřich Hrozný bu sözcüğün Hititçede bal anlamına geldiğini ortaya koymuştur. Melita, Asur ve Urartu kaynaklarında Maldiya, Melitea, Melid, Melide, Meliddu, Malita şekline dönüşmüştür. Araplar şehre Malatiyye demiş; nihayet Türklerin gelmesiyle Malatya adına kavuşmuştur.
Geçmişi Paleolitik çağa kadar uzanan Malatya, Neolitik, Kalkolitik, Bronz çağlarında yerleşim görmüş; Hitit, Asur, Pers, Roma, Bizans, Arap, Selçuklu ve Osmanlı egemenliklerine tanıklık etmiştir. Roma ve Bizans döneminde önemli bir doğu kenti olarak göze çarpan Malatya, ilk kez Emeviler devrinde Müslümanların eline geçmiş, Emeviler ve Abbasiler döneminde İslam-Bizans savaşlarına sahne olmuştur. Danişmentoğulları ve Selçukluların 12.yüzyılda Malatya’ya egemen olmasının ardından Memluklu ve Dulkadiroğulları Beyliği dönemi başlamış, 1515’de Yavuz Sultan Selim’in Çaldıran Savaşı dönüşü Turnadağı savaşı ile Osmanlı topraklarına katılmıştır.
Malatya’nın ilk yerleşim yeri, Orduzu beldesinde yer alan Arslantepe Höyüğü’nün Kültür Dolgusu 30 m. yüksekliğindedir. M.Ö.5000 bin yıllarından 11.yüzyıla kadar yerleşim görmüştür. Roma İmparatorluğu, M.S. 2.yüzyılda şehri, Arslantepe’nin 4 km. kuzeyinde Fırat Nehri’ne daha yakın bir nokta olan bugünkü Battalgazi (Eski Malatya) ilçesinin olduğu yere taşıdı. 19.yüzyılda şehrin merkezi bir kez daha değişti. 1830’lu yılların sonuna doğru şehirde yaşanan ekonomik sıkıntılar ve hastalıkların artması; Osmanlı ordusunun Nizip Savaşı nedeniyle Eski Malatya’da beklenenden daha uzun süre kalması, şehir halkının 10 km güneydeki Aspuzu’ya kalıcı olarak yerleşmesine neden oldu. Bu tarihten sonra şehrin merkezi olan Aspuzu’ya Malatya denilmeye başlandı. Belli bir süre Eski Şehir ve Aşağı Şehir olarak anılan önceki şehre ise Eski Malatya denildi; 1987 yılında ise Malatya’nın bir ilçesi olup Battalgazi adını aldı.
Osmanlı İmparatorluğu Döneminde Maraş Eyaletine bağlı olan Malatya, 1847 yılında Harput Eyaleti’ne bağlanmış ve Türkiye Cumhuriyeti 1924 yılında il statüsünü vermiştir.