Cheshmi began his career with Paykan, before moving to Persepolis in 2008. In 2011, he was loaned to Moghavemat Tehran to complete his mandatory military service.[4] In 2013, Cheshmi handed a transfer request after Ali Daei asked him to have a trial with Persepolis' senior team and moved to Saba Qom.[4] In his first season with Saba, Cheshmi made 25 appearances and scored one goal.
Esteghlal
Cheshmi signed a two-year deal with Esteghlal on 30 June 2015.[5] He later revealed that he down offers from a Bundesliga club to join Esteghlal.[4][3] Upon his arrival, he chose to wear number 4 which was previously worn by Amir Hossein Sadeghi.[6]
Cheshmi made his debut for Esteghlal on 30 July 2015 against Siah Jamegan.[7] On 3 March 2015, he torn his Cruciate ligament in a match against Padideh which caused him to miss the rest of the season.[8] It was also reported that he will miss the first half of 2016–17 season and the team coach Alireza Mansourian decided to exclude his name from Esteghlal's list for the first half of the season and was reported that he would return to the squad in January.[9] On 29 June 2016, he signed a 3-year contract extension with Esteghlal.[10] He returned to training on 30 December 2016.[11] However, due to the club's transfer ban which did not allow it to register any new players, Esteghlal could not include his name in their squad for the rest of season and meant that he would not be able to play for Esteghlal until the end of the season.[12]
Cheshmi scored his first goal for the club against Zob Ahan in a 1–1 draw on 20 September 2017.[13] On 13 February 2018, Cheshmi made his AFC Champions League debut in a 2–2 group stage draw with Qatari club Al-Rayyan.[14][15]
International career
U17
He played 3 games at the 2010 Asian U16 Championships.
In May 2018, Cheshmi was named in Iran's preliminary squad for the 2018 FIFA World Cup in Russia.[20] He made his debut in the competition on 15 June, playing the whole 90 minutes of the 1–0 group stage win against Morocco, helping his team to win their first World Cup match since 1998.[21] After helping Iran to keep a clean sheet in their opening win over Morocco, the World Cup turned out to be a personal disappointment for him, as he suffered an injury during training session prior the game against the Spain, which ruled him out of the competition.[22]
Cheshmi was also selected for 2019 AFC Asian Cup.[23]
He was in the initial lineup during the match of the 2022 Qatar World Cup against England. He scored the winning goal in the match against Wales in injury time, before Ramin Rezaeian doubled the lead minutes later, thus giving Iran their first victory against a European team at the World Cup.