Place a large stock pot over medium high heat.
Add butter or olive oil. Heat until hot and shimmering. Do not burn.
Add onion and garlic. Saute until onion becomes translucent and fragrant.
Lower temperature to medium.
Add tomatoes, cumin, salt, pepper and cayenne pepper. Stir to mix well.
Add chicken and broth. Cook, stirring, until chicken is done, about 20 minutes.
Shred chicken in pot. Stir to mix well.
Simmer to reduce liquid, if desired.
Spoon into serving bowls and serve hot, topped with diced avocado.
Serve with shredded cheese, sour cream, tortilla strips and other toppings, of choice.