Preheat oven to 350 degrees. Line a large baking sheet with parchment paper and set aside.
Add 1/2 tsp olive oil to a medium nonstick skillet and heat over medium-low. Add diced shallot and cook, stirring frequently, until translucent (about 4-5 minutes). Add minced garlic and continue to sauté for about a minute, until golden and fragrant. Remove from heat and set aside to cool slightly.
To the bowl of a food processor, add cooked shallots and garlic, beans, salt and pepper. Pulse for a few seconds until beans are roughly chopped, but not pureed. Add spinach and continue to pulse until combined, stopping to scrape down the sides of the bowl as needed.
Transfer bean mixture to a medium bowl and fold in remaining ingredients (sun-dried tomatoes, breadcrumbs, egg, and parmesan cheese) until well combined. Form the mixture into golf-ball sized balls, packing each ball tightly so that they hold together well. Place meatballs on prepared baking sheet about 1-2" apart.
Bake for about 25 minutes, flipping every 10 minutes, until meatballs are golden brown and firm to the touch. Serve warm with your favorite dipping sauce (i.e. marinara, pesto, hummus, etc.) for a filling appetizer or toss with pasta and sauce for a more substantial meal.