1948年秋,国民党军由于不断丧师失地,被迫改“分区防御”为“重点防御”。在华东战场,蒋介石为屏障徐州,隔断华北、华东两解放区的联系,并迟滞华东野战军南进,令第2绥靖区司令官王耀武所部9个正规旅、5个保安旅及特种兵部队约10万人固守济南,将集结于徐州附近的主力部队约17万人编成3个兵团,伺机北援。
济南作为津浦、胶济铁路交会点,北靠黄河,南倚泰山,地形险要,易守难攻。第二“绥靖区”以济南内城为核心防御阵地,以外城和商埠为基本阵地,以济南外围县镇及制高点构成外围阵地,各阵地内均构筑众多的永备和半永备型工事,形成能独立作战的支撑点。集中兵力约11万人。中央军委和毛泽东根据战局发展,命令华东野战军集中全力举行济南战役,并确定了“攻济打援”的作战方针,即“攻城打援分工协作,以达既攻克济南,又歼灭一部援敌之目的”。并强调指出,此战目的在于攻占济南,但必须集中大部兵力于打援、阻援方向,力争歼灭援敌一部。华东野战军代司令员兼代政治委员粟裕决定组成攻城、打援两个兵团。以参战兵力的44%、计6个半纵队约14万人组成攻城兵团,分东、西两个集团对济南实施钳形突击,由山东兵团司令员许世友、华东野战军副政治委员兼山东兵团政治委员谭震林、副司令员王建安统一指挥。东集团由第9纵队、渤海纵队及渤海军区一部组成,西集团由第3、第10、两广纵队和鲁中南纵队4个团及冀鲁豫军区一部组成,第13纵队为攻城总预备队;以参战兵力的56%、计8个半纵队约18万人组成打援兵团,于巨野、兖州等地夹运河而阵,担负对徐州北上援敌的打援、阻援任务,由野战军司令部直接指挥。
攻城兵团于9月16日晚发起攻击后, 迅速突破济南外围防线。至17日,西集团袭占匡李庄、双山头、长清等据点,进逼飞机场、腊山一线;东集团攻占城东屏障茂岭山、砚池山等要点,直扑外城。18日,西集团以炮火控制飞机场,使济南空运联系中断。19日,守卫城西的整编第96军军长吴化文,在华东野战军敌军工作部门和中共济南地下组织的政治争取下,率3个旅2万余人举行战场起义。攻城兵团抓住战机,即调预备队第13纵队加入西集团作战。各部乘势扩大战果。至22日,西集团占领商埠,东集团直逼城垣。当日晚,攻城兵团开始攻击外城,至23日,除个别据点外,攻占外城。当日晚,攻城兵团对内城发起总攻。各部浴血奋战,连续突击。第9纵队第73团于24日2时从城东南角突入内城;第13纵队第109团于拂晓前从城西南角突入。战后,第73、第109团被中央军委分别授予“济南第一团”“济南第二团”的荣誉称号。随即各部迅速向纵深猛攻,激战至24日黄昏,全歼内城守军,济南解放。王耀武等化装潜逃,被民兵俘获。
徐州地区的国民党援军虽经蒋介石再三督促,但慑于华野打援兵团兵力强大,不敢冒进,直到济南被克,第7、第13兵团尚在集结之中;第2兵团进抵城武、曹县地区后,闻济南守军已被全歼,即仓皇回撤。战役期间,中原野战军严密监视中原战场国民党军,有力保障了攻济作战。济南战役中华东野战军经8昼夜激战,以伤亡2.6万余人的代价,共歼国民党军10.4万余人(内起义2万人),俘第二“绥靖区”司令官王耀武,副司令官牟中珩和国民党山东党部主任委员庞镜塘等国民党军高级将领23人,缴获各种炮800多门,坦克、装甲车20辆,汽车238辆。济南战役的胜利,使华北、华东两大解放区连成一片,沉重地打击了国民党军坚守大城市的信心,锻炼和提高了人民解放军攻坚作战能力。 济南战役的胜利,同时开创了人民解放军夺取国民党军重兵坚守的大城市的先例。中共中央在贺电中指出,济南的攻克,“证明人民解放军强大的攻击能力,已经是国民党军队无法抵御的了,任何一个国民党城市都无法抵御人民解放军的攻击了”。就连为蒋介石撑腰的美国人似乎也认识到这一点。他们说:“自今而后,共产党要到何处,就到何处,要攻何城,就攻何城,再没有什么阻挡了。”济南战役的胜利,使华北、华东两大解放区连成一片,为华东野战军会同中原野战军南下陇海铁路以南举行更大规模的歼灭战创造了有利条件。周恩来后来说:“三大战役的序幕是济南战役。”