Heat the oil in a saucepan. Add the onion and gently cook over a medium heat for 5-6 mins until softened but not coloured. Add the garlic and cook for a further min. Stir in three-quarters of the petit pois, then pour in the stock. Bring to the boil and simmer for 10-12 mins. Meanwhile, grill the bacon until crisp.
Allow to cool for a few mins, then carefully transfer to a food processor and whizz until smooth. You might need to do this in two batches, depending on the size of your processor.
Return the soup to the pan and add the remaining petit pois. Bring to the boil and simmer for 2 mins or until the whole peas are tender. Season to taste, then stir in the butter, if using. Break the bacon into pieces and scatter over bowls or mugs of soup. The soup can be made up to a day ahead; just grill the bacon on the day.