When you used ITA did you get it to check seat availability ? If not it will display the lowest fare regardless of whether the bucket is empty or full.
If you want to cross-check you can use Expedia to price it up as BA.com isn't always reliable at this sort of thing (although it's a lot better than it was).
Remember to use Expedia.com as that still allows more than 3 sectors on a multi-leg booking.
Also, have you looked at a weekend in Milan ? It's lovely and often cheaper than Greece and Germany at that time of year...
BAH