Place olive oil in a pot and heat on medium. When oil is hot, add onions and cook for 5 minutes. Add garlic and cook one minute, being careful not to burn.
Add chicken stock, pesto, and tomatoes. Bring to a boil then turn heat down; let simmer for 15 minutes.
Place soup in an immersion blender and blend to chop up onions and make a smooth soup. Place back in the pot and stir in cream; simmer for 15 minutes.