Cả Than Quảng Ninh lẫn Viettel đều giữ nguyên danh sách đá chính như vòng tứ kết và đều nhập cuộc với lối chơi quen thuộc. Đội chủ nhà kiểm soát bóng, chơi chậm rãi trong khi đối thủ của giữ đội hình thấp và trông cậy vào những pha phản công hướng đến bộ đôi tiền đạo ngoại.
Than Quảng Ninh ép sân và tung ra nhiều cú dứt điểm hơn trong hiệp một, nhưng những cơ hội mà đội bóng đất mỏ tạo ra không có sức uy hiếp đáng kể. Trong khi đó, Viettel cũng không sắc sảo ở những tình huống phản công. Các khán giả không được chứng kiến bàn thắng nào trong hiệp đấu đầu tiên.
Viettel đánh bại Than Quảng Ninh nhờ bàn thắng của Bùi Tiến Dũng.
Trận đấu chỉ trở nên sôi nổi hơn sau khi đội khách có bàn mở tỉ số ở phút 54. Từ một sai lầm của hậu vệ và thủ môn Than Quảng Ninh, Viettel kiếm được một quả phạt đền và Bruno không bỏ lỡ cơ hội.
Đội chủ nhà dâng cao đội hình, cố gắng gây sức ép và có nhiều pha tấn công khiến hàng thủ đối phương vất vả. Sau nhiều nỗ lực, Than Quảng Ninh cuối cùng cũng tìm được bàn gỡ hòa ở phút 87 với cú sút xa xuất sắc của Hai Long.
Tuy nhiên siêu phẩm của tiền vệ vừa được triệu tập lên U22 Việt Nam lại trở nên vô nghĩa khi Than Quảng Ninh một lần nữa để đối thủ vượt lên, khi trận đấu bước sang thời gian bù giờ. Sau khi ngăn chặn pha phản công của đội chủ nhà, Viettel lập tức khai thác vào khoảng trống ở hàng thủ đối phương để Bùi Tiến Dũng ghi bàn nâng tỉ số lên 2-1.
Trong những phút cuối trận, đội khách mất hai cầu thủ khi Khắc Ngọc và Văn Hào bị truất quyền thi đấu. Dù vậy, Viettel vẫn giữ được tỉ số 2-1 và lần đầu tiên giành quyền vào chung kết Cúp Quốc gia.