Heat the oil in a large saucepan and add in the onions. Cook on a low heat for 5-6 minutes until the onions soften. Add in the garlic, sweet potato and red pepper and cook for 2 minutes. Add in the tins of tomatoes, stock, tomato puree and sugar.
Bring the soup to a gently bubble, then simmer for 20-25 minutes, stirring every so often, until the sweet potato is soft.
Whilst the soup is simmering, lightly toast the bread on one side. Take out of the grill and sprinkle the cheese on two of the slices (so the cheese is on top of the crisp side). Top with the bacon and place the other two slices on top, with the toasted side facing inwards. Place back under the grill and cook on a low heat until browned, then turn over and cook the other side. The cheese should melt during this time. Take the toasties out and cut each toastie into small, bitesize pieces.
Your soup should now be ready. Turn off the heat and blend the soup using a hand blender. Stir in all but 1 tbsp of the cream and season with half the salt and pepper. Taste and season with a little more if needed.
Split the soup between 6 bowls. Swirl in the remaining cream, top with the toastie pieces and sprinkle with parsley before serving.