The hosts had trailed by 103 runs at the end of the first innings but went on to claim a 141-run win in Birmingham to go 2-1 ahead in the series ahead of the final match at The Oval this week.
"We seemed to be behind pretty much most of the game, hanging in there, and then when we got the chance to win the game, we were fantastic," Cook told Sky Sports News.
"We fought really hard. I did say at the beginning, probably at tea time, I thought it would be a first innings versus fourth innings. But it showed great character from the guys to come back and bowl like we did and for them not to get too much of a lead. We batted really well in the third innings of the game.
"I did have a little bit of doubt in my mind at some stage, but then I reminded myself we would get a couple more chances. It was unlikely that they would last the 30-odd overs, no disrespect to them, but you would have thought we would create a few more chances. It was about being patient."
Cook has named an unchanged 13-man squad for the final Test, which gets underway on Thursday.