Hà mã ăn thức ăn thực vật, đặc biệt là cỏ, chồi, lá, lau sậy, hoa, thân và vỏ cây. Chúng được biết đến là loài ăn xác, mặc dù chúng là động vật ăn cỏ và hệ tiêu hóa của chúng chưa phát triển để ăn thịt. Các nhà sinh vật học tin rằng hầu hết những con hà mã ốm yếu hoặc suy dinh dưỡng đều ăn thịt.
Hà mã lùn được xếp vào nhóm ăn chay. Loài động vật này không chỉ ăn cỏ và chồi non, mà nó còn ăn dương xỉ, thảo mộc, thực vật bán thủy sinh và trái cây. Điều thú vị là hà mã lùn có dạ dày với nhiều ngăn, giống như một con bò. Tuy nhiên, hệ tiêu hóa của nó không hoạt động giống như hệ tiêu hóa của bò hoặc động vật nhai lại thực sự khác.
Hà mã kiếm ăn vào ban đêm. Hà mã ra khỏi vùng nước thông thường để kiếm ăn, nhưng nó luôn cố gắng ở gần nhà nhất có thể. Tuy nhiên, nếu thức ăn khan hiếm, nó có khả năng di chuyển vài dặm để tìm nguồn thức ăn khác. Hà mã dùng đôi môi rộng của mình để xé cỏ và làm mềm chúng trước khi nuốt chửng; nó không nhai bằng răng. Bởi vì cỏ và các thảm thực vật khác có ít chất dinh dưỡng, hà mã cần ăn nhiều để nhận được một lượng dinh dưỡng tốt. Hà mã được biết là ăn gần 90 pound thức ăn mỗi đêm.