Heat a 3-quart saucepan over medium-high heat. Saute onion in vegetable oil until tender, about 5 minutes. Remove from heat. Stir in broth, carrots, parsley, oregano, red pepper flakes, and garlic powder.
Bring to a boil over high heat. Reduce heat, cover, and simmer until carrots are fork-tender, about 10 minutes.
Meanwhile, mash 1 1/2 to 2 cups of beans in a small bowl. Stir whole and mashed beans into the broth. Add corn. Cook until heated through, 5 to 7 minutes. Serve soup over rice.