Heat 2 tbs oil in a 4-qt soup pot over medium heat. Add onions, celery, carrots and peppers and sauté for 8-10 minutes.
Then add grated garlic, tomatoes, bay leaf and all of your spices except the salt. Sauté for 2-3 minutes. This will also toast the spices and bring their flavors out.
Add in the navy beans and water, stir to combine. Bring to a boil and then simmer on low heat, covered for 40 minutes.
Remove lid and add salt to taste. Stir to combine.
In a small pan over medium heat, combine butter, corn flour and smoked paprika for about 2-3 minutes until well blended. Pour directly into the soup to combine and simmer the soup for another 10 minutes before serving. This will thicken the soup and give it a delicious flavor.
Turn the heat off, then add in the vinegar in and stir.
The beans should be fork tender at this point. Serve and top with fresh cilantro and scallion (optional.)