Chasing 200 for the win, Pakistan were 104 unbeaten in the 13th when Moeen came out on top and conceded 21 runs, including three sixes.
Pakistan seized the momentum and won by 10 wickets, with the skipper Babar Azam reached a brilliant century.
“The momentum changed when I knocked down. It really gave them the belief and after that they were nearly unstoppable,” Moeen said.
“I felt like it was under control for most of it. I really feel like I lost the game for us. It was a gamble on my part.
“I went and tried to get a wicket, almost buy a wicket. Obviously it didn’t work out and that’s when Pakistan really won the game.”
The seven-game series is tied 1-1, with the third T20 to be played on Friday.
England will play four matches in Karachi and three in Lahore before returning in December to play three Tests in the return leg of the tour.