Heat oil and butter in a stock pot over medium high heat until butter melts. Add onion and sauté until translucent, approx. 5 mins.
Add garlic, carrots, celery and sun dried tomatoes. Season with salt, pepper, harissa, paprika, cumin and coriander. Saute for a couple of minute to toast spices and soften vegetables.
Add wine and continue cooking on high until all of the liquid has evaporated. Add tomatoes and chicken broth. Bring to a boil. Cover and reduce heat to a simmer. Cook for 45 mins or until the vegetables are tender.
Pass soup through a food mill to puree and remove any large particles. Return soup to pot and place over low heat. Add parsley and cilantro. Add chocolate and enough honey to balance acidity. Adjust seasoning to taste. Serve hot, garnished with queso fresco, fresh goat cheese or crème fraiche.