قبل المعركة، قصفت القوات الروسية المدينة بالمدفعية في 24 فبراير، مما أدى إلى إصابة 26 شخصًا.[5] في صباح يوم 25 فبراير، تقدمت القوات الروسية باتجاه ماريوبول من أراضي جمهورية دونيتسك الشعبية في الشرق، حيث قابلت الأوكرانيين في معركة بالقرب من قرية بافلوبيل.[6] هزم الأوكرانيون القوات الروسية، وزعم رئيس بلدية ماريوبول، فاديم بويشينكو، تدمير 22 دبابة روسية.[7][8]
بدأت البحرية الروسية هجومًا برمائيًا على ساحل بحر آزوف إلى الغرب من ماريوبول مساء يوم 25 فبراير. صرح مسؤول دفاعي أمريكي أن الروس يحتمل أن ينشروا الآلاف من مشاة البحرية من هذا الهجوم.[9][10]
في 26 فبراير، واصلت القوات الروسية قصف ماريوبول بالمدفعية.[11]
في صباح يوم 27 فبراير، ادعى بويشينكو أن رتل دبابة روسية تقدم بسرعة إلى ماريوبول من جمهورية دونيتسك الشعبية، لكن القوات الأوكرانية صدت هذا الهجوم، وأسرت 6 جنود روس.[12]
طوال 28 فبراير، ظلت المدينة تحت السيطرة الأوكرانية، على الرغم من محاصرة القوات الروسية وتعرضها للقصف المستمر.[13][14] وذكر بويشينكو أنه تم إسقاط طائرة حربية روسية في المنطقة المجاورة.[15] انقطعت الكهرباء والغاز والاتصال بالإنترنت عن معظم أنحاء المدينة خلال المساء.[16]
اندلع انفجار كبير في 1 مارس في المدينة. وقصفت المدفعية الروسية المدينة مما تسبب في إصابة أكثر من 21 شخصا.[19]
في صباح يوم 3 مارس، تعرضت المدينة مرة أخرى لقصف القوات الروسية.[20] دعا إدوارد باسورين، المتحدث باسم جمهورية دونيتسك الشعبية، رسمياً القوات الأوكرانية المحاصرة في ماريوبول إلى الاستسلام أو مواجهة «ضربات موجهة».[21] أفاد المتحدث باسم وزارة الدفاع الروسية إيغور كوناشينكوف أن قوات جمهورية دونيتسك شددت الحصار، وتم الاستيلاء على ثلاث مستوطنات قريبة.[22]
في 4 مارس، دعا عمدة المدينة إلى إنشاء ممر إجلاء إنساني وحث الجيش على إرسال مزيد من التعزيزات.[23][24] وذكر أن الروس يقصفون مستشفيات المدينة بصواريخ جراد[25] وأن سكان المدينة لم يعد لديهم تدفئة أو مياه جارية أو كهرباء.[26] في وقت لاحق من ذلك اليوم، تم اقتراح وقف إطلاق نار مؤقت في منطقة ماريوبول للسماح للمواطنين بالإخلاء.[26][27]
في 5 مارس، أعلنت الحكومة الأوكرانية رغبتها في إجلاء 200,000 مدني من ماريوبول. أعلنت منظمة الإغاثة الدولية التابعة للصليب الأحمر أنها ستعمل كضامن لوقف إطلاق نار جديد للسماح بهذا الإخلاء.[28] ووصف الصليب الأحمر الوضع في ماريوبول بأنه مأساوي للغاية.[29]
بعد ثلاثة أيام من القصف،[30] أُعلن أن وقف إطلاق النار ساري المفعول من الساعة 11 صباحًا حتى 4 مساءً. بدأ المدنيون بعد ذلك في إجلاء ماريوبول على طول ممر إنساني إلى مدينة زابوريجيه. لكن بسبب استمرار القتال اضطر من تم إجلاؤهم إلى العودة.[31]
أفادت السلطات الأوكرانية أن القوات الروسية لم تلتزم بوقف إطلاق النار وأمرت بتأجيل العملية مع استمرار القوات الروسية في قصف المدينة.[32] اتهمت وزارة الدفاع الروسية «القوميين» الأوكرانيين بعدم السماح للمدنيين بالتوجه إلى روسيا.[33] أفاد المتمردون الموالون لروسيا أن 17 شخصًا فقط قد غادروا ماريوبول.[34]
في 6 مارس، أعلنت اللجنة الدولية للصليب الأحمر أن المحاولة الثانية لبدء إجلاء 200000 شخص من ماريوبول قد باءت بالفشل.[35] وذكرت اللجنة الدولية للصليب الأحمر أن هناك «مشاهد مدمرة للمعاناة الإنسانية» في ماريوبول.[35]
صرح مجلس المدينة في 11 مارس أن ما لا يقل عن 1582 مدنياً قتلوا أثناء الحصار. وتعرض مسجد السلطان سليمان، الذي كان يأوي 80 مدنيا من بينهم مواطنون أتراك، لقصف روسي في 12 مارس وفقا لوزارة الخارجية الأوكرانية.[36] لكن نفى إسماعيل حاج أوغلو، رئيس جمعية المساجد، تعرض المسجد للقصف وقال إن القصف وقع على بعد 700 متر.[37] صرح الجيش الأوكراني في وقت لاحق أن القوات الروسية استولت على الضواحي الشرقية لماريوبول.[38]