The Asian nation, who drew with England in the group stages en route to the semi-finals, were on track for another major scalp when Ali Adnan fooled the Uruguayan keeper by sneaking a free kick in at the near post.
Lopez was again wasteful when opportunities came his way in the second period, as he lifted a chip over the crossbar, which was struck by his captain Gaston Silva on 77 minutes.
Iraqi hearts were broken two minutes from the end of normal time when Gonzalo Bueno volleyed home following a precise knockdown from Felipe Avenatti.
Uruguay failed to make sure of the result in extra time and therefore granted their less-fancied opponents a second chance in the lottery of a penalty shootout.
The South Americans, through Gianni Rodriguez, missed their first spot kick but Iraq also missed the target when Ali Faez struck the post.
The two teams went on to score their next four penalties, forcing the contest into sudden death.
Diego Rolan netted for Uruguay before Abdul Raheem levelled the shootout at 5-5 with a composed shot into the bottom corner, but Jose Giminez put Uruguay ahead again from 12 yards.
Mahdi Kamli thundered a penalty straight down the middle to again level the scores, only for Uruguay skipper Silva to put them ahead in the shootout once more.
Saif Salman turned out to be the Iraqi player who crumbled under the pressure, as he smashed his spot kick high into the stands, handing Uruguay a place in the final.