In a heavy bottomed pot, add olive oil, leeks, and celery and sauté over medium high heat, stirring occasionally to avoid sticking, for about 5 minutes until the vegetables are translucent. Add the garlic and stir for another minute or two
Add the meatballs and gently move them around until they all have a little colour, but being careful not to break them.
Add diced tomatoes, chicken stock, salsa, and the red pepper flakes. Bring to a boil then reduce heat and simmer for 5-10 minutes.
Taste for seasoning and add salt and pepper in an amount that works for your preference (note the salsa and meatballs will have a bit of salt in them so make sure you taste first).
To serve, add 1 cup of uncooked baby spinach to the bottom of each bowl and ladle hot soup over top. This will avoid the spinach turning brown before serving if you add it directly to the soup pot.
To garnish, add a dollop of greek yogurt and a sprig or two of cilantro as desired.