“It’s not the performance we wanted at all,” England captain Courtney Lawes said.
“We really hurt ourselves in certain areas. Way too many turnovers and discipline was an issue again. We’re pretty disappointed with that.”
Ireland, on the other hand, are heading to the World Cup in strong shape, with Earls’ 73rd-minute try on his 100th cap gaining the biggest roar of the evening and potentially persuading coach Andy Farrell to pick him in the World Cup squad named next week.
It was one for the highlight reel, too, as the replacement wing took a miss-pass on the left wing and raced to the corner before placing the ball down and doing a flying forward roll at the same time.
Ireland scored five tries in total, with centers Bundee Aki and Garry Ringrose going over in the first half, which finished 12-3. Hooker Dan Sheehan went off with a leg injury just before halftime in the major concern for the Irish from the game.
Vunipola’s red card meant an Ireland win was inevitable and the hosts took full advantage, adding tries through all-action wingers James Lowe in the 55th and Mack Hansen in the 65th.
Replacement prop Kyle Sinckler burrowed over for England’s only try, in the 72nd.
“There’s still a lot that we can fix up if we want to be lifting the Webb Ellis in a couple of months,” Hansen said. “It was good to hold them out to 10 points but that’s all I can really say.
“Faz [Farrell] will be mad at me if I say we played really well.”
Ireland’s final warm-up is against Samoa next Saturday, when England play Fiji at Twickenham.