It's a really good question, so I decided to make a separate post out of it.
Larger engines aren't more efficient than small ones, but in circumstances like the ones in the Sunday Times article, they run in a more favourable mode.
A 1.4 diesel running at 3000rpm isn't going to burn less fuel than a 1.0 petrol running at 3000rpm. The advantage for a diesel is that it makes a lot of torque at low revs, so to accomplish the same task - accelerating a Citroen C1 from 0 to 60mph - it needs to rev less, burning less fuel. This doesn't work for bigger engines, because although they may produce more torque at lower revs, they burn more fuel with each turn of the crankshaft (bigger cylinders = more fuel injected).
But if you're not using these cars in city driving (their natural environment), you may see some weird results. In the Sunday Times piece, the cars did one whole lap of the M25, the freeway that circles London. They averaged 49mph and tried to be as smooth as possible, without sudden accelerations or stops.
Now, here is the thing: if two cars with the same engine capacity are traveling at the same speed, it doesn't matter which of them has more torque. You don't need that much power to overcome wind and rolling resistance at 50mph, but your engine is still going to rev pretty high. The final drive on the car can't be changed, and top gear is also a fixed ratio, so even though you may not need all that power, you have to keep up the sort of RPM that, multiplied by all the gearing and the diameter of your wheels, will make them spin at a rate that translates to 50mph.
And diesels really don't like revving. There are objective mechanical reasons for this, and you can't really get around it. A city car like a Citroen C1 isn't meant for traveling at 50mph, and doesn't like revving that high. You need to inject extra fuel just to keep up the revs. Where the petrol engine may be producing more power than it can use, the diesel is struggling to produce as much as it needs. Add to this the fact that the diesel is a 1.4-liter - 40% larger - and burns more fuel with every combustion cycle - and you can see why in these specific circumstances the petrol faired marginally better.
On bigger cars the problem is fixed by using tall gearing (something that is pointless in a C1, which needs to accelerate quickly a lot more than it needs to go fast). In a modern six-speed, you can make the last gear really tall, so if you're calmly driving down the autobahn, the engine is barely ticking over - if it's a big and torquey one, it already produces as much power as you need to keep up the speed. Then again, a tiny engine in a big car must have short gears to make the acceleration half-decent. I know a person that lives in America, and took European delivery of his BMW 330i, doing a tour of the Old World before putting it on a container. Next year he returned for his vacation, rented an Opel Vectra 1.8, drove down the same route, and got the same mileage. The reason? The Vectra needed to rev long and hard to keep up with autobahn traffic, and although it burned less fuel on every revolution, it needed a lot more revolutions to cover a mile.