This study dealt with code‐switching in EFL classroom contexts at tertiary level in Iran, where English instruction tends to begin late at secondary schools. It aimed to explore the ʹtrigger wordsʹ responsible for cognitive code switching using Clyneʹs (2003) classification, the possible functions of code switching, as well as the EFL instructorsʹ perceptions of code switching. To achieve these objectives, one general English class and one ESP class for computer major students were observed and the two classroom instructors were interviewed. Analysis of data revealed that triggered code switching manifestations in both EFL contexts were different, with the greater frequency of code switching taking place in engineering ESP context. Moreover, ʹproper nounsʹ and ʹlexical transferʹ were the frequently observed types of trigger words responsible for code switching in General and ESP contexts respectively. It also displayed the six functions code switching served in Iranian EFL classrooms. The EFL instructors believed that code‐switching was an effective teaching strategy when facing low English proficient learners. They perceived it useful regarding various functions that it served in Iranian EFL classrooms.