Preheat the oven to 200°C
Place the tomatoes, garlic paste, olive oil and some salt and pepper in a bowl. Toss well to coat the tomatoes in the garlic and oil.
Place on a baking tray and roast for 10 minutes until softened.
Heat the butter and the olive oil in a large frying pan over low heat. Add the onions and cook very slowly for 10-15 minutes, stirring occasionally to prevent them from catching. Don't be tempted to turn the heat up, as you don't want the onions to burn.
When onions are softened and tinged golden, add the sugar and the balsamic vinegar. Cook onions over low heat for a further 5-10 minutes, stirring occasionally, until sticky and caramelised. Set aside.
Wilt the baby spinach in the microwave for a about 1 minute on full power. Once cooled squeeze out the excess water and roughly chop it and stir through the chopped feta.
Meanwhile, unroll the puff pastry sheet and cut into 12 equal rectangles. Using a sharp knife, score a border within each pastry rectangle about 2cm from the edge, being careful to avoid cutting right through the pastry. Place on the baking sheet which has been sprayed with cooking spray.
Place about 1 tablespoon of the onion mixture inside the border of each rectangle.
Top with a heaped teaspoon spinach and feta mix
Then top with a few roasted baby tomatoes.
Brush the sides of the pastry lightly with the egg wash.
Bake for 15 - 20 minutes or until pastry is puffed and golden.