Hải mã chủ yếu ăn động vật thân mềm, chẳng hạn như trai. Hải mã cũng ăn tôm, cua, giun, hải sâm và san hô. Đôi khi, một con hải mã được cho là ăn xác hải cẩu khi chúng không thể tìm thấy thức ăn.
Vì kích thước cực kỳ lớn, hải mã ăn rất nhiều thức ăn. Người lớn thường tiêu thụ 3.000 đến 6.000 con trai trong một lần cho ăn. Hải mã thường ở gần bờ khi tìm kiếm thức ăn, nhưng chúng có thể lặn hơn 200 feet để tìm bữa ăn. Chúng có thể ở dưới nước khoảng 30 phút mỗi lần trước khi cần lên khí.