Which is correct?

I congratulated him for coming first in the race.

I congratulated him on coming first in the race.

3 Answers 3


According to Oxford Dictionaries Online the verb congratulate collocates with both prepositions, but the meaning is slightly different.

When you congratulate someone on something you give them your good wishes because something special or pleasant has happened to them, e.g. "I'd like to congratulate you on your marriage".

When you congratulate someone for something you praise them for an achievement, e.g. "I'd like to congratulate the staff for their good job".

According to Google NGram Viewer congratulate on is a lot more frequent than congratulate for, but the latter is used nevertheless.

To answer your question, both sound natural to me.

  • Even to me "congratulate for" sounds more natural (and I also hear people speaking it). But I couldn't find a trusted source which gave an example of "congratulate for".
    – user20934
    Commented Jun 5, 2012 at 19:45
  • 1
    @HiAll: Did you follow the links in my answer? That's why they are there, to provide sources.
    – Irene
    Commented Jun 5, 2012 at 19:51
  • In this question I think for is more apt than on as we are appreciating him for his achievement for coming first in the race.
    – Sudhir
    Commented Nov 19, 2012 at 5:43
  • @Sudhir: Nah. You normally offer congratulations on an achievement, but for acting in a certain way. But I don't think that can be called a difference in meaning - it's more an idiomatic tendency of grammar. Commented Apr 17, 2013 at 16:44
  • 1
    I couldn't agree with Irene more on that. Good answer Irene! Congratulations for your answer. And congratulations on your job. Keep up the good work!
    – user85243
    Commented Jul 16, 2014 at 13:03

In common mistakes in English by T.j.Fitikides (Longman) is written congratulate on not for and didn't say anything why on not for. Ex: Don't say: I congratulate you for your success. Say: I congratulate you on your success. (Common Mistakes in English)


Both of the cases are correct, so you can use any expression you like.

  • 1
    They may be both correct but they have slightly different meanings, as mentioned in another answer. So you shouldn't use any expression you like, you use the one that is appropriate.
    – Chenmunka
    Commented May 4, 2014 at 17:48