Heat the oil in a Dutch oven over medium heat and add in the bacon.
Mince the garlic and dice the onion and add them to the pot.
Cut up the beef into in inch pieces and add them in.
While they are cooking, chop your carrots and celery.
When the onions are soft and the meat has some color, add in the carrots, celery, tomatoes, beef broth, herbs, salt, pepper, and barley.
Rinse and drain the spinach. Press out the water and add it to the soup.
Bring this all to a gentle boil, reduce the heat to low, cover, and simmer for 1 hour.
After an hour, peel and cut up the potatoes.
Rinse and drain the beans and add half of them to the soup, along with the potatoes.
Place the remaining beans in a bowl and ladle in some of the broth from the soup. Mash them with a fork until they are a pasty consistency. Stir the mash into the soup.
Continue to simmer this on low for another half hour, covered, until the potatoes are cooked through.