Deprecated: version_compare(): Passing null to parameter #1 ($version1) of type string is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/gravityforms/includes/addon/class-gf-addon.php on line 5706 Deprecated: Return type of GF_Field::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/gravityforms/includes/fields/class-gf-field.php on line 84 Deprecated: Return type of GF_Field::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/gravityforms/includes/fields/class-gf-field.php on line 90 Deprecated: Return type of GF_Field::offsetSet($offset, $data) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/gravityforms/includes/fields/class-gf-field.php on line 99 Deprecated: Return type of GF_Field::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/gravityforms/includes/fields/class-gf-field.php on line 108 Deprecated: Creation of dynamic property ACF::$fields is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/fields.php on line 138 Deprecated: Creation of dynamic property acf_loop::$loops is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/loop.php on line 28 Deprecated: Creation of dynamic property ACF::$loop is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/loop.php on line 269 Deprecated: Creation of dynamic property ACF::$revisions is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/revisions.php on line 397 Deprecated: Creation of dynamic property acf_validation::$errors is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/validation.php on line 28 Deprecated: Creation of dynamic property ACF::$validation is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/validation.php on line 214 Deprecated: Creation of dynamic property acf_form_customizer::$preview_values is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/forms/form-customizer.php on line 28 Deprecated: Creation of dynamic property acf_form_customizer::$preview_fields is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/forms/form-customizer.php on line 29 Deprecated: Creation of dynamic property acf_form_customizer::$preview_errors is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/forms/form-customizer.php on line 30 Deprecated: Creation of dynamic property ACF::$form_front is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/forms/form-front.php on line 598 Deprecated: Creation of dynamic property acf_form_widget::$preview_values is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/forms/form-widget.php on line 34 Deprecated: Creation of dynamic property acf_form_widget::$preview_reference is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/forms/form-widget.php on line 35 Deprecated: Creation of dynamic property acf_form_widget::$preview_errors is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/forms/form-widget.php on line 36 Deprecated: Return type of WC_DateTime::setTimezone($timezone) should either be compatible with DateTime::setTimezone(DateTimeZone $timezone): DateTime, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/woocommerce/includes/class-wc-datetime.php on line 57 Deprecated: Return type of WC_DateTime::getOffset() should either be compatible with DateTime::getOffset(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/woocommerce/includes/class-wc-datetime.php on line 47 Deprecated: Return type of WC_DateTime::getTimestamp() should either be compatible with DateTime::getTimestamp(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/woocommerce/includes/class-wc-datetime.php on line 68 Deprecated: Return type of WC_Meta_Data::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/woocommerce/includes/class-wc-meta-data.php on line 50 Deprecated: Creation of dynamic property WooCommerce::$api is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/woocommerce/includes/class-woocommerce.php on line 471 Deprecated: Creation of dynamic property Imagify\Job\MediaOptimization::$query_url is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/imagify/inc/classes/class-imagify-abstract-background-process.php on line 80 Deprecated: Creation of dynamic property WC_Countries::$countries is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/woocommerce/includes/class-wc-countries.php on line 51 Deprecated: Creation of dynamic property acf_field_oembed::$width is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/fields/class-acf-field-oembed.php on line 31 Deprecated: Creation of dynamic property acf_field_oembed::$height is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/fields/class-acf-field-oembed.php on line 32 Deprecated: Creation of dynamic property acf_field_google_map::$default_values is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/fields/class-acf-field-google-map.php on line 33 Deprecated: Creation of dynamic property acf_field__group::$have_rows is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/includes/fields/class-acf-field-group.php on line 31 Deprecated: Creation of dynamic property acf_field_clone::$cloning is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/pro/fields/class-acf-field-clone.php on line 34 Deprecated: Creation of dynamic property acf_field_clone::$have_rows is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/advanced-custom-fields-pro/pro/fields/class-acf-field-clone.php on line 35 Deprecated: Creation of dynamic property WC_Cart::$coupon_discount_totals is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/woocommerce/includes/legacy/class-wc-legacy-cart.php on line 227 Deprecated: Creation of dynamic property WC_Cart::$coupon_discount_tax_totals is deprecated in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-content/plugins/woocommerce/includes/legacy/class-wc-legacy-cart.php on line 227 Deprecated: Return type of Requests_Cookie_Jar::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-includes/Requests/Cookie/Jar.php on line 63 Deprecated: Return type of Requests_Cookie_Jar::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-includes/Requests/Cookie/Jar.php on line 73 Deprecated: Return type of Requests_Cookie_Jar::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-includes/Requests/Cookie/Jar.php on line 89 Deprecated: Return type of Requests_Cookie_Jar::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-includes/Requests/Cookie/Jar.php on line 102 Deprecated: Return type of Requests_Cookie_Jar::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-includes/Requests/Cookie/Jar.php on line 111 Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 40 Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 51 Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 68 Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 82 Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/www/users/therosdbpm/legacy.theroyalportfolio.com/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 91

Bring The Royal Portfolio Dining Experience Home.
Kadai Chicken is a delicious North Indian tomato-based curry best known for its freshly ground spices and irresistible bold flavour. We recommend serving this tasty curry with Poppadums, Naan Bread or Basmati Rice.
Executive Chef Veronica Canha-Hibbert from The Silo Hotel shares her Kadai Chicken recipe which includes a spicy Kadai Paste made using a mix of aromatic and roasted spices and her homemade Garam Masala.
½ tbsp coriander seeds
¼ tsp fenugreek seeds
½ tbsp ginger paste
½ tsp red chilli powder
1 tsp salt
¼ tsp Garam Masala powder
½ inch ginger
100 ml canola oil
½ tbsp fenugreek seeds
1 white onion, brunoised
2 sliced red chilli
10 chopped garlic
4 chopped tomato
1 tsp coriander powder
Using a non-stick pan, roast the coriander seeds. Once the seeds begin crackling, remove and crush them thoroughly using a mortar & pestle, and then place them aside. Heat oil in a pan over a low flame, add red chillies and fenugreek seeds. Stir for a few seconds. Add the onions and increase to a medium flame. Cook until the onions turn light brown. Add garlic and stir. Now add ginger paste, coriander seeds, red chilli powder and coriander powder. Stir to blend and add the chopped tomatoes and cook for another 3 minutes. Add salt and Garam Masala powder. Remove all the ingredients and blend until smooth.
500 g deboned and skinned chicken thighs
1 white onion, brunoised
1 red pepper, seeded and brunoised
100 ml canola oil
2 tbsp butter
2 tbsp fresh garlic, chopped
2 tbsp fresh ginger, chopped
2 tbsp fresh turmeric, chopped
2 tbsp fresh green chilli, chopped
1 x 72 g tinned tomato paste
1 x 420 g tinned chopped tomatoes
500 ml chicken stock
handful chopped coriander
300 g baby spinach
Loosen the Kadai Paste with some oil and marinate the chicken thighs in it for at least an hour. Using a heavy-based pot with a wide base, sauté the onions and the red pepper in the oil and butter until soft. Add the garlic, ginger, turmeric and chilli and sauté for at least 5 minutes stirring continuously. Add the tomato paste and cook for 3 minutes. Add the chopped tomatoes and chicken stock and bring to the boil and reduce by half. In a heavy-based frying pan brown the chicken, once the chicken has been browned evenly on all sides add it to the tomato sauce which is still reducing. Scrape all the Kadai Paste into the frying pan and cook the base for at least 2 minutes before adding it to the tomato base. Cover the pan with a lid and cook for 10 minutes until the chicken is tender. Stir occasionally. Once the sauce is thick and the chicken is cooked, remove from heat and stir in the washed baby spinach and coriander. Serve with Poppadums or Naan or Basmati Rice.
Travel With Purpose
Learn More