In a large pot of boiling salted water, blanch beans 3 minutes; remove from water and immerse in ice water 2 minutes. Remove from water, pat dry, and set aside.
In a 10-inch saute pan over medium-high heat, add olive oil and butter and heat until butter begins to foam. Add onion and shallot and saute until slightly browned, about 5 minutes. Add mushrooms and cook 5 to 8 minutes, then add garlic and cook 3 to 5 minutes. Fold in beans and tomatoes and cook 4 to 5 minutes, stirring frequently. Remove from heat and serve immediately.