Trận Kolubara
Diễn biến > Serbia tổng phản công

Cả Potiorek và Putnik đều nhận ra tuyến tiếp vận của Áo-Hung đã kéo dài quá xa. Do đó, vào ngày 1 tháng 12, Potiorek lệnh cho Tập đoàn quân số 6 Áo-Hung dừng lại để đợi Tập đoàn quân số 5 bảo đảm tuyến tiếp vận của nó phía đông đường xe lửa Valjevo, do đó toàn bộ các hoạt động quân sự của Áo-Hung dừng lại trong một thời gian ngắn. Chỉ huy trưởng Tập đoàn quân số 1 Serbia, tướng Mišić, nhân cơ hội đó cho lùi sâu đơn vị của mình 19 km từ tuyến đầu  và bào đảm binh lính dưới quyền mình có cơ hội nghỉ ngơi. Quân đội Serbia tập trung lại quanh núi Rudnik, nơi họ nhận được hàng tiếp vận mà các nước đồng minh đã hứa hẹn, thông qua tuyến đường sắt Niš–Salonika. Putnik giờ đây đã lấy lại niềm tin về việc quân đội của ông có thể tiến hành phản công. Ngày 2 tháng 12, ông hạ lệnh tổng phản công và thông báo cho các sĩ quan Serbia biết rằng mục đích của cuộc tổng phản công này nhằm làm tăng cường sĩ khí toàn quân. Vua Serbia, Peter I, dù đã 70 tuổi vẫn cầm súng trường tham gia chiến đấu trong cuộc tổng phản công. Cuộc phản công gây bất ngờ hoàn toàn cho Áo-Hung khi mà vào thời điểm Serbia phản công, Áo-Hung đang tổ chức một cuộc diễu binh lớn qua các đường phố Beograd. Giờ đây đến lượt các phòng tuyến Áo-Hung bị kéo căng quá mức và trong bối cảnh khi mà Potiorek mới chỉ bắt đầu củng cố cánh trái, các vị trí tuyến đầu phòng thủ cực kỳ lỏng lẻo. Potiorek biết rằng để giữ cho cục diện chiến trường không bị đảo chiều, ông phải ngăn không cho Tập đoàn quân số 1 Serbia đến được đường phân thủy giữa hai con sông Kolubara và Morava. Tuy nhiên Serbia đã phát hiện ra được điểm yếu cốt tử của Áo-Hung: lính Áo-Hung không hề được chuẩn bị cho việc chống phản công, nhất là khi họ đặt pháo binh ở quá xa tuyến đầu dẫn đến không thể pháo kích yểm trợ cho quân phòng thủ. Quân đội Serbia đã được nghỉ ngơi và tái tiếp vận tiến về hướng Beograd. Đêm ngày 2 tháng 12, Tập đoàn quân số 1 Serbia chọc thủng được phòng tuyến Áo-Hung và vào sâu vài km, bắt sống nhiều tù binh và gây thương vong lớn cho quân Áo-Hung. Trong khi đó, hai tập đoàn quân số 2 và số 3 chiếm được nhiều cao điểm quan trọng còn tập đoàn quân Užice gặp kháng cự mạnh nhưng cũng đẩy lùi được quân Áo-Hung.
Thành công bước đầu của cuộc phản công đã làm tăng sĩ khí của binh lính Serbia lên rất nhiều, đúng như mong đợi của Putnik. Quân đội Áo-Hung không đủ thời gian hồi phục khi Serbia lại tấn công vào sáng hôm sau nên đêm hôm đó đã buộc phải rút chạy. Ngày 6 tháng 12, đại sứ Anh tại Serbia thông báo chi chính phủ Anh rằng cuộc phản công của quân Serbia đang "diễn ra một cách tuyệt vời". Cũng trong ngày này, trung quân và sườn phải Áo-Hung tan vỡ, buộc binh lính của họ phải tháo chạy bỏ lại vũ khí. Tuy nhiên, Áo-Hung vẫn cố tăng cường sự kiểm soát quanh Beograd. Ngày 7 tháng 12, quân Áo-Hung tấn công sườn phải của quân Serbia tại ngoại ô thành phố.
Ngày 8 tháng 12, quân Áo-Hung rút chạy về the Užice và Valjevo. Quân Serbia đoán rằng quân Áo-Hung đã phải đào hào vững chắc nhưng trên thực tế quân Áo-Hung chưa hề xây dựng được bất kỳ hệ thống phòng thủ nào. Áo-Hung ra sức củng cố việc phòng thủ Valjevo bằng cả việc bố trí pháo binh tuy nhiên vì thiếu chuẩn bị trước nên các ngọn đồi bao quanh thị trấn không hề được phòng thủ kỹ. Quân Serbia nhận ra điều đó nên lần lượt đánh chiếm các ngọn đồi này và từ đó bao vây quân Áo-Hung mà chỉ chịu tổn thất nhỏ. Tập đoàn quân số 3 Serbia sau đó đã vượt qua phòng tuyến của Tập đoàn quân số 6 Áo-Hung tại núi Suvobor và tấn công Valjevo. Tại Niš, đại sứ Bulgaria tại Serbia báo cáo về nước: "Từ sáng nay, những tin tức khó tin nhất từ chiến trường đang lan truyền và như rót mật vào tai người Serbia." Theo đó, trong vòng ba đến bốn ngày, Serbia đã bắt sống một sĩ quan cấp tướng cùng 49 sĩ quan Áo-Hung khác và 20.000 lính Áo-Hung, cùng với chiếm được 40 khẩu đại bác và một lượng quân cụ khổng lồ. Vào ngày 9 tháng 12, các cuộc phản công của Áo-Hung quanh Beograd cũng thất bại và quân Áo-Hung buộc phải rút co cụm về trung tâm thành phố. Một người lính Áo-Hung phải thốt lên rằng: "Chúng tôi không thể tin rằng giờ đây người Serbia đang theo sát gót chúng tôi khi mà chúng tôi vừa mới là người chiến thắng." Ngày 10 tháng 12, lính Serbia chiếm được hạ lưu sông Drina, buộc phần lớn lính Áo-Hung còn sống sót phải tháo chạy qua sông. Lính Serbia truy kích cho đến khi đối phương vượt sông Sava và Danube đến được Banat tại Hungary. Chỉ một số ít lính Áo-Hung sống sót về được Bosnia.
Ngày 13 tháng 12, tướng von Frank báo cáo với Potiorek tình thế không cho phép quân Áo-Hung ở lại Beograd lâu hơn được nữa. Potiorek buộc lòng phải cho rút quân khỏi thành phố. Lính Áo-Hung rút khỏi Beograd ngày 14 và 15 tháng 12 và rút về nước nhờ sự yểm trợ của các tiền phong đỉnh trên sông Sava và sông Danube. Quân Serbia trở lại Beograd vào ngày 15 tháng 12 và chỉ sau một ngày đã giành lại hoàn toàn quyền kiểm soát thành phố.