Dựa vào kết quả 2 kỳ SEA Games gần nhất, đồng thời là chủ nhà của SEA Games 31 nên đội tuyển U23 Việt Nam được xếp ở bảng A và nằm ở nhóm hạt giống số 1, trong khi U23 Thái Lan ở nhóm B và là hạt giống số 1.
Đáng chú ý là tiêu chí phân nhóm ở SEA Games 31 khác hẳn những lần trước. Trước đây, tiêu chí chỉ dựa trên thành tích của đội ở một kỳ trước đó. Như ở SEA Games 30, Việt Nam rơi vào Nhóm 3 do không vượt qua vòng bảng năm 2017. Kết quả bốc thăm đưa Việt Nam vào cùng bảng hai đội mạnh là Thái Lan và Indonesia.
Môn bóng đá nam có 10 đội tham dự, được chia làm 2 bảng, thi đấu vòng tròn 1 lượt chọn ra 4 đội xuất sắc nhất vào bán kết. Tuyển U23 Việt Nam cùng với U23 Thái Lan sẽ là hạt giống của 2 bảng. Nhóm 2 gồm: Indonesia - Malaysia, nhóm 3: Myanmar - Campuchia, nhóm 4: Philippines - Singapore, nhóm 5: Lào - Timor Leste.
Theo điều lệ, bảng A sẽ được tổ chức tại sân Việt Trì (Phú Thọ), còn bảng B sẽ diễn ra trên sân Thiên Trường (Nam Định). Trong trường hợp U23 Việt Nam lọt vào bán kết sẽ được ưu tiên thi đấu trên sân Việt Trì, trận bán kết còn lại sẽ được tổ chức ở sân Thiên Trường. Trận chung kết và tranh hạng ba sẽ diễn ra ngày 22-5 trên sân Mỹ Đình. Các trận sẽ thi đấu theo khung giờ 16 giờ (tranh hạng ba) và 19 giờ (chung kết).