![]()
Bạn muốn nắm vững thì quá khứ hoàn thành một cách tự nhiên, không cần học thuộc lòng một cách máy móc? Hãy bắt đầu luyện tập với hơn 99 bài tập được chọn lọc kỹ lưỡng từ IELTS The Tutors, trải dài từ mức cơ bản đến nâng cao dưới đây. Đây là cơ hội tốt để bạn vừa ôn lại kiến thức, vừa rèn luyện khả năng vận dụng, từ đó sử dụng thì này một cách chính xác và linh hoạt hơn.
Tóm tắt lý thuyết thì quá khứ hoàn thành
Thì quá khứ hoàn thành dùng để diễn tả một hành động đã xảy ra và hoàn thành trước một hành động khác hoặc trước một thời điểm xác định trong quá khứ.
Cấu trúc thì quá khứ hoàn thành
|
Thể |
Cấu trúc |
Ví dụ |
|
Khẳng định |
S + had + V3/ed |
The film had already started when we arrived at the cinema. (Bộ phim đã bắt đầu khi chúng tôi đến rạp.) |
|
Phủ định |
S + had + not + V3/ed (Viết tắt: had not = hadn’t) |
Mark hadn’t finished his report before the meeting began. (Mark đã chưa hoàn thành báo cáo trước khi cuộc họp bắt đầu.) |
|
Nghi vấn (Yes/No) |
Had + S + V3/ed …? → Yes, S + had. → No, S + hadn’t. |
Had you ever seen a koala before you went to Australia? (Bạn đã từng thấy gấu túi trước khi đến Úc chưa?) |
|
Nghi vấn (Wh-) |
Wh-word + had + S + V3/ed …? |
Where had she lived before she moved to this city? (Cô ấy đã sống ở đâu trước khi chuyển đến thành phố này?) |
Cách dùng thì quá khứ hoàn thành
- Dùng để diễn tả một hành động đã hoàn thành trước một hành động khác trong quá khứ. Hành động xảy ra trước dùng had + V3/ed, hành động xảy ra sau chia ở thì quá khứ đơn.
Ví dụ: By the time we reached the airport, the plane had taken off.(Khi chúng tôi đến được sân bay, máy bay đã cất cánh rồi.)
- Dùng để diễn tả một hành động đã xảy ra và hoàn tất trước một hành động hoặc thời điểm khác trong quá khứ.
Ví dụ: James had owned that classic car for ten years before he finally sold it. (James đã sở hữu chiếc xe cổ đó trong 10 năm trước khi anh ấy cuối cùng cũng bán nó đi.)
- Dùng để diễn tả một sự chuẩn bị hoặc trải nghiệm đã hoàn tất, làm cơ sở dẫn đến kết quả hay trạng thái của một hành động khác trong quá khứ.
Ví dụ: They had saved enough money, so they felt confident about buying the new house. (Họ đã tiết kiệm đủ tiền, vì vậy họ cảm thấy tự tin về việc mua ngôi nhà mới.)
- Dùng để diễn tả một giả định trái với thực tế trong quá khứ, thường thể hiện sự tiếc nuối hoặc điều không xảy ra (trong câu điều kiện loại ba).
Ví dụ: If we had started earlier, we wouldn't have missed the beginning of the concert. (Nếu chúng tôi bắt đầu sớm hơn, chúng tôi đã không bỏ lỡ phần đầu của buổi hòa nhạc.)
Dấu hiệu nhận biết
- By the time: Vào lúc/Trước khi (thường đi với một mệnh đề quá khứ đơn, và mệnh đề còn lại dùng thì quá khứ hoàn thành).
Ví dụ: By the time the police arrived, the thief had escaped. (Vào lúc cảnh sát đến, tên trộm đã trốn thoát rồi.)
- By the end of + [thời gian trong quá khứ]: Tính đến cuối…
Ví dụ: By the end of last year, she had written three novels. (Tính đến cuối năm ngoái, cô ấy đã viết được 3 cuốn tiểu thuyết.)
- Until then / Prior to that time: Cho đến lúc đó / Trước thời điểm đó.
Ví dụ: He had never traveled abroad prior to that time. (Anh ấy chưa bao giờ đi nước ngoài trước thời điểm đó.)
- Before: Trước khi.
Ví dụ: Before we started the meeting, we had prepared all the documents. (Trước khi chúng tôi bắt đầu cuộc họp, chúng tôi đã chuẩn bị xong tất cả tài liệu.)
- After: Sau khi.
Ví dụ: After they had finished their dinner, they went for a walk. (Sau khi họ đã ăn tối xong, họ mới đi dạo.)
- No sooner + had + S + V3/ed + than + S + V2/ed
Ví dụ: No sooner had he sat down than the phone rang. (Anh ấy vừa mới ngồi xuống thì điện thoại reo.)
- Hardly / Scarcely + had + S + V3/ed + when + S + V2/ed
Ví dụ: Hardly had the show started when it began to rain. (Chương trình vừa mới bắt đầu thì trời đổ mưa.)
Xem thêm: 100+ bài tập thì quá khứ tiếp diễn có đáp án chi tiết, dễ hiểu
Bài tập thì quá khứ hoàn thành cơ bản

Bài tập 1: Chia động từ trong ngoặc ở thể khẳng định, phủ định và nghi vấn
1. By the time I arrived, the meeting (already / start) ________.
2. She (not / finish) ________ her homework before she went to bed.
3. (you / see) ________ that film before you watched it last night?
4. They (live) ________ in that house for ten years before they sold it.
5. I (not / eat) ________ anything all day, so I was very hungry.
6. (he / prepare) ________ the documents before the boss asked for them?
7. We (visit) ________ that museum twice before 2020.
8. The shops (close) ________ by the time we got there.
9. My brother (never / be) ________ to London before his last trip.
10. (the rain / stop) ________ when you left the office?
Bài tập 2: Chia động từ theo thì quá khứ đơn hoặc quá khứ hoàn thành
1. When we (reach) ________ the station, the train (already / leave) ________.
2. She (tell) ________ me that she (buy) ________ a new car the day before.
3. I (go) ________ to the library after I (finish) ________ my lunch.
4. They (be) ________ tired because they (work) ________ all day.
5. He (not / recognize) ________ his friend because he (change) ________ so much.
6. Before she (move) ________ to this city, she (live) ________ in the countryside.
7. By the time the police (arrive) ________, the thief (escape) ________.
8. We (already / eat) ________ when Linda (invite) ________ us to dinner.
9. After he (lock) ________ the door, he (realize) ________ he (forget) ________ his keys inside.
10. The teacher (ask) ________ if I (do) ________ the task.
Bài tập 3: Chọn đáp án đúng
1. I ________ the letter before I went to the post office.
A. wrote
B. had written
C. have written
2. By the time she was 15, she ________ three languages.
A. learned
B. was learning
C. had learned
3. After they ________ the game, they went out for drinks.
A. had won
B. was winning
C. win
4. He didn't have any money because he ________ his wallet.
A. lost
B. had lost
C. loses
5. ________ you finished the report before the deadline?
A. Had
B. Did
C. Have
6. She ________ seen such a beautiful sunset before.
A. never had
B. had never
C. had ever
7. We were late because our car ________ down.
A. broke
B. had broken
C. breaks
8. Before I ________ to the party, I had bought a new dress.
A. go
B. went
C. had gone
9. The house was quiet because everyone ________ to sleep.
A. had gone
B. went
C. goes
10. By 10 PM last night, I ________ all my chores.
A. finished
B. was finishing
C. had finished
Bài tập 4: Viết lại câu bắt đầu bằng “Before”, “After” hoặc “By the time”
1. First, I cleaned the house. Then, my guests arrived.
→ After ________________.
2. She did all the exercises. Then she watched TV.
→ Before ________________.
3. The movie started. We got to the cinema after that.
→ By the time ________________.
4. He bought a ticket. Then he entered the concert hall.
→ After ________________.
5. I saved enough money. Then I bought a laptop.
→ Before ________________.
6. The rain stopped. We went for a walk then.
→ After ________________.
7. My father retired. He had worked for that company for 30 years.
→ By the time ________________.
8. They had dinner. Then they went out.
→ After ________________.
9. I read the instructions. Then I started the machine.
→ Before ________________.
10. The sunset. We reached the top of the mountain.
→ By the time ________________.
Đáp án bài tập thì quá khứ hoàn thành cơ bản
Bài tập 1:
1. had already started
2. hadn't finished
3. Had you seen
4. had lived
5. hadn't eaten
6. Had he prepared
7. had visited
8. had closed
9. had never been
10. had the rain stopped
Bài tập 2:
1. reached – had already left
2. told – had bought
3. went – had finished
4. were – had worked
5. didn't recognize – had changed
6. moved – had lived
7. arrived – had escaped
8. had already eaten – invited
9. had locked – realized – had forgotten
10. asked – had done
Bài tập 3:
1. B. had written
2. C. had learned
3. A. had won
4. B. had lost
5. A. Had
6. B. had never
7. B. had broken
8. B. went
9. A. had gone
10. C. had finished
Bài tập 4:
1. After I had cleaned the house, my guests arrived.
2. Before she watched TV, she had done all the exercises.
3. By the time we got to the cinema, the movie had started.
4. After he had bought a ticket, he entered the concert hall.
5. Before I bought a laptop, I had saved enough money.
6. After the rain stopped, we went for a walk.
7. By the time my father retired, he had worked for that company for 30 years.
8. After they had had dinner, they went out.
9. Before I started the machine, I had read the instructions.
10. By the time the sun set, we had reached the top of the mountain.
Bài tập thì quá khứ hoàn thành nâng cao

Bài tập 5: Chia động từ trong câu điều kiện loại 3
1. If I (know) ________ you were coming, I (prepare) ________ a better meal.
2. If they (not / miss) ________ the bus, they (arrive) ________ on time.
3. We (buy) ________ that house if we (have) ________ enough money then.
4. If she (study) ________ harder, she (pass) ________ the exam last month.
5. What (you / do) ________ if you (be) ________ in my situation?
6. If the weather (be) ________ better, we (go) ________ camping.
7. They (not / get) ________ lost if they (bring) ________ a map.
8. If he (tell) ________ me the truth, I (forgive) ________ him.
9. If you (not / forget) ________ the tickets, we (see) ________ the show.
10. If the doctor (arrive) ________ earlier, he (save) ________ the patient.
Bài tập 6: Viết câu với “I wish” hoặc “If only”
1. I didn't see the news yesterday.
→ I wish ________________.
2. She didn't take my advice.
→ If only ________________.
3. They spent all their money on clothes.
→ They wish ________________.
4. I was so rude to him last night.
→ If only ________________.
5. We didn't book the hotel in advance.
→ We wish ________________.
6. He failed the driving test.
→ He wishes ________________.
7. It rained heavily during our wedding.
→ If only ________________.
8. I forgot to bring my camera.
→I wish ________________.
9. They didn't win the championship.
→ They wish ________________.
10. She didn't tell me about the meeting.
→ If only ________________.
Bài tập 7: Hoàn thành cấu trúc đảo ngữ (No sooner… than vs Hardly… when)
1. No sooner (he / finish) ________ his speech ________ the audience started clapping.
2. Hardly (we / step) ________ out of the house ________ it began to rain.
3. No sooner (the sun / rise) ________ ________ the birds started singing.
4. Scarcely (I / close) ________ my eyes ________ the phone rang.
5. No sooner (she / reach) ________ the station ________ the train left.
6. Hardly (the movie / start) ________ ________ the power went out.
7. No sooner (they / enter) ________ the room ________ they smelled gas.
8. Scarcely (he / arrive) ________ ________ he had to leave again.
9. No sooner (I / receive) ________ the email ________ I replied to it.
10. Hardly (the bell / ring) ________ ________ the students rushed out.
Bài tập 8: Tìm và sửa lỗi sai trong mỗi câu sau
1. After he had finished his work, he has gone home.
2. By the time I was 10, I had already rode a horse.
3. If I would have known, I would have helped you.
4. Hardly had I sat down than the doorbell rang.
5. I wish I didn't go to that party last night.
6. She told me she never saw a tiger before.
7. No sooner I had arrived than it started to snow.
8. Before I went to bed, I had turn off the lights.
9. We had lived in Paris for 5 years before we moved here.
10. Had she finish the report by yesterday?
Bài tập 9: Hoàn thành đoạn văn kể chuyện
Yesterday was a disaster. I (1. wake) ________ up late because I (2. forget) ________ to set my alarm. By the time I (3. get) ________ to the bus stop, the bus (4. already / go) ________. I (5. try) ________ to call a taxi, but I realized I (6. leave) ________ my phone at home. If I (7. be) ________ more careful, I (8. not / be) ________ in that situation. When I finally (9. arrive) ________ at the office, my boss (10. already / start) ________ the meeting without me.
Bài tập 10: Viết lại câu không đổi nghĩa
1. The teacher gave us a lot of homework.
→ I wish ________________.
2. He didn't listen to his parents, so he got into trouble.
→ If he ________________.
3. I regret telling him the truth yesterday.
→ I'd rather ________________.
4. This was the first time I had ever seen a real lion.
→ I had never ________________.
5. He went to bed immediately after finishing his dinner.
→ No sooner ________________.
6. She didn't buy the house because it was too expensive.
→ If the house ________________.
7. I regret not buying that dress.
→ If only ________________.
8. They had never been to Asia before that trip.
→ That was the first time ________________.
9. The match ended, and then it started to rain.
→ Hardly ________________.
10. I am sorry I didn't go to the party.
→ I wish ________________.
Đáp án bài tập thì quá khứ hoàn thành nâng cao
Bài tập 5:
1. had known – would have prepared
2. hadn't missed – would have arrived
3. would have bought – had had
4. had studied – would have passed
5. would you have done – had been
6. had been – would have gone
7. wouldn't have got – had brought
8. had told – would have forgiven
9. hadn't forgotten – would have seen
10. had arrived – would have saved
Bài tập 6:
1. I wish I had seen the news yesterday.
2. If only she had taken my advice.
3. They wish they hadn't spent all their money on clothes.
4. If only I hadn't been so rude to him last night.
5. We wish we had booked the hotel in advance.
6. He wishes he hadn't failed the driving test.
7. If only it hadn't rained heavily during our wedding.
8. I wish I hadn't forgotten to bring my camera.
9. They wish they had won the championship.
10. If only she had told me about the meeting.
Bài tập 7:
1. had he finished – than
2. had we stepped – when
3. had the sun risen – than
4. had I closed – when
5. had she reached – than
6. had the movie started – when
7. had they entered – than
8. had he arrived – when
9. had I received – than
10. had the bell rung – when
Bài tập 8:
1. has gone → went (Hành động sau chia quá khứ đơn)
2. rode → ridden (V3 của “ride” là “ridden”)
3. would have known → had known (Mệnh đề If không dùng “would have”)
4. than → when (Cấu trúc Hardly đi với “when”)
5. didn't go → hadn't gone (Ước cho quá khứ dùng quá khứ hoàn thành)
6. never saw → had never seen (Có “before” nhấn mạnh trải nghiệm trước đó)
7. No sooner I had → No sooner had I (Lỗi đảo ngữ)
8. turn → turned (V3 của turn là turned)
9. Đúng
10. finish → finished (V3 sau trợ động từ had)
Bài tập 9:
1. woke
2. had forgotten
3. got
4. had already gone
5. tried
6. had left
7. had been
8. wouldn't have been
9. arrived
10. had already started
Bài tập 10:
1. I wish the teacher hadn't given us a lot of homework.
2. If he had listened to his parents, he wouldn't have got into trouble.
3. I wish I hadn't told him the truth yesterday.
4. I had never seen a real lion before.
5. No sooner had he finished his dinner than he went to bed.
6. If the house hadn't been so expensive, she would have bought it.
7. If only I had bought that dress.
8. That was the first time they had ever been to Asia.
9. Hardly had the match ended when it started to rain.
10. I wish I had gone to the party.
Lỗi sai phổ biến khi làm bài tập thì quá khứ hoàn thành

- Nhầm lẫn giữa quá khứ hoàn thành và quá khứ đơn do không phân biệt được hành động nào xảy ra trước, hành động nào xảy ra sau.
Ví dụ:
Câu sai: When we arrived at the station, the train left.
Chỉnh sửa: When we arrived at the station, the train had left. (Tàu đã đi mất rồi trước khi chúng tôi kịp đến).
- Dùng sai mốc thời gian hoặc vị trí của liên từ (Before/After) vào mệnh đề đi kèm với các liên từ chỉ thời gian.
Ví dụ:
Câu sai: Before I had gone to bed, I finished my homework.
Chỉnh sửa: Before I went to bed, I had finished my homework. (Trước khi đi ngủ, tôi đã hoàn thành xong bài tập).
- Quên chia động từ hoặc dùng sai dạng phân từ hai (V3/ed) hoặc không thuộc bảng động từ bất quy tắc.
Ví dụ:
Câu sai: She had forgot her umbrella at home.
Chỉnh sửa: She had forgotten her umbrella at home.
- Sai cấu trúc đảo ngữ (No sooner… than / Hardly… when): dùng sai cặp liên từ hoặc quên không đảo “had” lên trước chủ ngữ.
Ví dụ:
Câu sai: No sooner had I reached home when it started to rain.
Chỉnh sửa: No sooner had I reached home than it started to rain.
Hy vọng bộ 99+ bài tập thì quá khứ hoàn thành từ IELTS The Tutors đã giúp bạn hiểu rõ hơn cách dùng cấu trúc này trong thực tế. Khi nắm được cách phân biệt hành động xảy ra trước và sau trong quá khứ, bạn sẽ không còn gặp khó khăn nếu duy trì luyện tập và rút kinh nghiệm từ những lỗi sai.
Hãy nhớ rằng, ngữ pháp không phải là những quy tắc khô khan để học thuộc, mà là công cụ giúp bạn diễn đạt câu chuyện của mình một cách mạch lạc và rõ ràng hơn. Chúc bạn sớm làm chủ thì quá khứ hoàn thành và đạt kết quả tốt trong các kỳ thi sắp tới!


