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. Read more...