A dropped catch by Cook while Kumar Sangakkara was on 40 summed up a miserable day for the side as they fell to 84-5 and were eventually all out for 202, unable to catch Sri Lanka's total of 292-7.
Man of the match Sangakkara contributed 112 runs to his side and Sri Lanka's bowling was just as lethal, with Cook going out for lbw and Joe Root the only player to score over 50 runs.
England coach Peter Morres told BBC Sport: "It's disappointing. We came here thinking we could draw the series level, but we were outplayed in probably all three departments.
"We dropped catches and we lost too many wickets early despite being up with the rate. We also didn't choose the right lengths with the ball at times.
"We did some good things at times, but some costly errors let them get away from us."
Meanwhile Sri Lanka captain Angelo Mathews insisted Sri Lanka wouldn't go easy on England in the final test, explaining: "We got better with the ball from the last game as only in the last 10 overs did we put the ball in the right place.
"Today, we were much better with our approach and we put pressure on from the start.
"I thought Sangakkara was amazing once again. He and Dilshan set the tone. We still want to win the next game as well and win the series 5-2."