In a large stock pot, heat oil and add chopped onion. Saute until translucent, approximately 5 minutes. Place chicken in pot and cover with water, having about 2" above the pieces. Add bouillon cubes, salt and pepper. Simmer on medium high heat for 20 minutes, uncovered, stirring occasionally.
Add potatoes and corn. Bring back to a boil then reduce to simmer on medium high heat. Cook uncovered for 10 minutes, stirring occasionally.
Add carrots, cabbage, cilantro and continue cooking for 10 minutes or until potatoes are pierced easily and cabbage is cooked.
Remove chicken pieces to a cutting board one at time. Remove skin and bones and discard them. Chop or shred chicken roughly then immediately add back to soup.
Serve immediately. Add a squeeze of fresh lemon juice to each bowl if desired. Serve with a side of fresh corn tortillas.
* Chicken: I used a mix of white and dark meat pieces (1 breast, 3 legs and 2 thighs) but feel free to use all white or all dark meat if desired. Some of the chicken might separate from the bone during the cooking process, so keep a look out for loose bones and discard.
* Water: The amount of water I use tends to vary so I recommend that when you first add water, to make sure you cover all the chicken pieces and then add enough water to give you about an extra 2 inches of depth. As the soup cooks, water will evaporate a little so you'll need to add more as it does. When the last of the veggies are added, make sure you are happy with the amount of water and add more if it's not enough. Taste the broth during the last 10 minutes of cooking time and add salt/pepper if needed.