Home Blog Page 63

Burrata Caprese

0
Burrata Caprese Recipe with Heirloom Tomatoes, Burrata, Tangerine Juice, and Balsamic Pearls

There is Caprese salad, and then there is Sassella’s Burrata Caprese salad. Chef Cristian Pontiggia starts with house-made burrata, pairs it with local heirloom tomatoes, adds capers for a sharp punch as well as a swirl of walnut basil pesto, and finishes it with a garnish of Hawaiian basil, tangerine Calabrian chile oil (a game-changing ingredient), dehydrated garlic, volcanic black salt, and balsamic pearls that he creates. It’s a dish that speaks to both the eyes and the stomach in equal measure. To drink, he suggests a Brunello di Montalcino: “Strong on flavor, but with the burrata, a perfect pairing.”

Burrata Caprese Recipe

INGREDIENTS

1 tbsp olive oil
1 tsp tangerine juice, freshly squeezed
2 tbsp pesto
1 heirloom tomato, sliced
1 ball of burrata
2 caper berries
4-5 small basil leaves
½ tsp balsamic pearls* or a drizzle of balsamic vinegar
Black volcanic salt
Crispy garlic

INSTRUCTIONS

  1. Combine the olive oil and tangerine juice.
  2. Spread the pesto on a plate, arrange the tomato slices then top with the burrata, and drizzle with infused oil.
  3. Garnish with caper berries, basil leaves, balsamic pearls or balsamic vinegar, a generous sprinkle of volcanic salt, and some crispy garlic.

Recipe by Chef Cristian Pontiggia of Sassella / Story and Styling by Julia Platt Leonard / Support from Alex Hanna / Photography by Kate Russell

Subscribe to TABLE Magazine’s print edition.

Jambo Slow Cooked Oxtail

0
Slow-Cooked Oxtail Dish with Jamaican Jerk Seasoning, Rosemary, Thyme, and Cinnamon

If you’ve always wanted to learn to make oxtail at home but aren’t sure where to start, our Jambo Slow Cooked Oxtail is here to help. You’ll want to begin this dish the day before to give the rub a chance to do its thing. This way the oxtail has time to slowly cook and become tender enough to fall off the bone on its own. To make a fulfilling dinner, serve the oxtails hot with greens and starch of your choice. At Jambo Cafe, where Chef Ahmed Obo works, this Slow Cooked Oxtail is served with collards and mofongo, a dish of mashed green plantains.

Print

clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon

Slow-Cooked Oxtail Dish with Jamaican Jerk Seasoning, Rosemary, Thyme, and Cinnamon

Jambo Slow Cooked Oxtail


5 Stars 4 Stars 3 Stars 2 Stars 1 Star


  • Author:
    Chef Ahmed Obo

Description

Once you learn to properly cook oxtail, you’ll be hooked on Caribbean-influenced dish.


Ingredients


Scale

For the rub:

  • 23 green onions, chopped
  • 23 cloves of garlic, chopped
  • 12 tbsp jerk seasoning
  • 2 tsp dried thyme
  • 2 tsp ground cinnamon
  • 1 tsp ground allspice
  • 2 tsp ground coriander 1-2 tbsp olive oil (enough to form a rough paste)

For the slow cooked oxtail:

  • 5 lb of oxtails
  • Olive oil
  • 1 medium onion, chopped
  • 12 cloves of garlic, chopped
  • 1 tbsp jerk seasoning
  • 1 tsp dried rosemary
  • 1 tsp dried thyme
  • 1 tsp ground coriander
  • 2 tsp ground cinnamon
  • 1 tbsp tomato paste
  • ¼ cup Worcestershire sauce
  • 4 cups chicken stock
  • 2 tsp beef base (highly concentrated beef stock)
  • 12 cinnamon sticks


Instructions

  1. To make the rub, mix the ingredients with the olive oil to create a paste. Rub over oxtails, cover, and refrigerate overnight.
  2. To cook the oxtails the next day, heat a teaspoon or so of oil in a roasting pan or Dutch oven–enough to keep the oxtails from sticking. Sauté the onions and garlic for a few minutes. Add the spices and cook them for a few minutes so that you can smell their aroma. Stir the tomato paste into the mixture, add the Worcestershire sauce, chicken stock, and beef base.
  3. Add the oxtails, cover, and roast for 30 minutes at 400 degrees. Lower the temperature to 350 degrees and slow roast for 2 ½ -3 hours. The meat should fall off the bone.

window.trCommon={“minRating”:6,”ajaxurl”:”https://www.tablemagazine.com/wp-admin/admin-ajax.php”,”ratingNonce”:”f011bc3481″,”postId”:5727};
window.TastyRecipes = window.TastyRecipes || {};

window.TastyRecipes.smoothScroll = {
init() {
document.addEventListener( ‘click’, ( e ) => {
let anchor = e.target;
if ( anchor.tagName !== ‘A’ ) {
anchor = anchor.closest( ‘a.tasty-recipes-scrollto’ );
}

if ( ! anchor || ! anchor.classList.contains( ‘tasty-recipes-scrollto’ ) ) {
return;
}

const elementHref = anchor.getAttribute( ‘href’ );
if ( ! elementHref ) {
return;
}

e.preventDefault();
this.goToSelector( elementHref );
});
},
goToSelector( selector ) {
const element = document.querySelector( selector );
if ( ! element ) {
return;
}
element.scrollIntoView( { behavior: ‘smooth’ } );
}
};

document.addEventListener(
‘DOMContentLoaded’,
() => window.TastyRecipes.smoothScroll.init()
);

(function(){

var bothEquals = function( d1, d2, D ) {
var ret = 0;
if (d1<=D) {
ret++;
}
if (d2<=D) {
ret++;
}
return ret === 2;
};

var frac =function frac(x,D,mixed){var n1=Math.floor(x),d1=1;var n2=n1+1,d2=1;if(x!==n1)while(bothEquals(d1,d2,D)){var m=(n1+n2)/(d1+d2);if(x===m){if(d1+d2d2)d2=D+1;else d1=D+1;break}else if(xD){d1=d2;n1=n2}if(!mixed)return[0,n1,d1];var q=Math.floor(n1/d1);return[q,n1-q*d1,d1]};frac.cont=function cont(x,D,mixed){var sgn=x<0?-1:1;var B=x*sgn;var P_2=0,P_1=1,P=0;var Q_2=1,Q_1=0,Q=0;var A=Math.floor(B);while(Q_1<D){A=Math.floor(B);P=A*P_1+P_2;Q=A*Q_1+Q_2;if(B-AD){if(Q_1>D){Q=Q_2;P=P_2}else{Q=Q_1;P=P_1}}if(!mixed)return[0,sgn*P,Q];var q=Math.floor(sgn*P/Q);return[q,sgn*P-q*Q,Q]};

window.tastyRecipesVulgarFractions = JSON.parse(decodeURIComponent(“%7B%22%C2%BC%22%3A%221%2F4%22%2C%22%C2%BD%22%3A%221%2F2%22%2C%22%C2%BE%22%3A%223%2F4%22%2C%22%E2%85%93%22%3A%221%2F3%22%2C%22%E2%85%94%22%3A%222%2F3%22%2C%22%E2%85%95%22%3A%221%2F5%22%2C%22%E2%85%96%22%3A%222%2F5%22%2C%22%E2%85%97%22%3A%223%2F5%22%2C%22%E2%85%98%22%3A%224%2F5%22%2C%22%E2%85%99%22%3A%221%2F6%22%2C%22%E2%85%9A%22%3A%225%2F6%22%2C%22%E2%85%9B%22%3A%221%2F8%22%2C%22%E2%85%9C%22%3A%223%2F8%22%2C%22%E2%85%9D%22%3A%225%2F8%22%2C%22%E2%85%9E%22%3A%227%2F8%22%7D”));

window.tastyRecipesFormatAmount = function(amount, el) {
if ( parseFloat( amount ) === parseInt( amount ) ) {
return amount;
}
var roundType = ‘frac’;
if (typeof el.dataset.amountShouldRound !== ‘undefined’) {
if (‘false’ !== el.dataset.amountShouldRound) {
if ( ‘number’ === el.dataset.amountShouldRound ) {
roundType = ‘number’;
} else if (‘frac’ === el.dataset.amountShouldRound) {
roundType = ‘frac’;
} else if (‘vulgar’ === el.dataset.amountShouldRound) {
roundType = ‘vulgar’;
} else {
roundType = ‘integer’;
}
}
}
if (‘number’ === roundType) {
amount = Number.parseFloat(amount).toPrecision(2);
} else if (‘integer’ === roundType) {
amount = Math.round(amount);
} else if (‘frac’ === roundType || ‘vulgar’ === roundType) {
var denom = 8;
if (typeof el.dataset.unit !== ‘undefined’) {
var unit = el.dataset.unit;
if ([‘cups’,’cup’,’c’].includes(unit)) {
denom = 4;
if (0.125 === amount) {
denom = 8;
}
if (“0.1667″ === Number.parseFloat( amount ).toPrecision(4)) {
denom = 6;
}
}
if ([‘tablespoons’,’tablespoon’,’tbsp’].includes(unit)) {
denom = 2;
}
if ([‘teaspoons’,’teaspoon’,’tsp’].includes(unit)) {
denom = 8;
}
}
var amountArray = frac.cont( amount, denom, true );
var newAmount = ”;
if ( amountArray[1] !== 0 ) {
newAmount = amountArray[1] + ‘/’ + amountArray[2];
if (‘vulgar’ === roundType) {
Object.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {
if (newAmount === window.tastyRecipesVulgarFractions[vulgar]) {
newAmount = vulgar;
}
});
}
}
if ( newAmount ) {
newAmount = ‘ ‘ + newAmount;
}
if ( amountArray[0] ) {
newAmount = amountArray[0] + newAmount;
}
amount = newAmount;
}
return amount;
};

window.tastyRecipesUpdatePrintLink = () => {

const printButton = document.querySelector( ‘.tasty-recipes-print-button’ );

if ( ! printButton ) {
return;
}

const printURL = new URL( printButton.href );
const searchParams = new URLSearchParams( printURL.search );

const unitButton = document.querySelector( ‘.tasty-recipes-convert-button-active’ );
const scaleButton = document.querySelector( ‘.tasty-recipes-scale-button-active’ );

let unit = ”;
let scale = ”;

if ( unitButton ) {
unit = unitButton.dataset.unitType;
searchParams.delete(‘unit’);
searchParams.set( ‘unit’, unit );
}

if ( scaleButton ) {
scale = scaleButton.dataset.amount;
searchParams.set( ‘scale’, scale );
}

const paramString = searchParams.toString();
const newURL = ” === paramString ? printURL.href : printURL.origin + printURL.pathname + ‘?’ + paramString;
const printLinks = document.querySelectorAll( ‘.tasty-recipes-print-link’ );

printLinks.forEach( ( el ) => {
el.href = newURL;
});

const printButtons = document.querySelectorAll( ‘.tasty-recipes-print-button’ );
printButtons.forEach( ( el ) => {
el.href = newURL;
});
};

document.addEventListener( ‘DOMContentLoaded’, () => {

if ( ! window.location.href.includes( ‘/print/’ ) ) {
return;
}

const searchParams = new URLSearchParams( window.location.search );

const unit = searchParams.get( ‘unit’ );
const scale = searchParams.get( ‘scale’ );

if ( unit && ( ‘metric’ === unit || ‘usc’ === unit ) ) {
document.querySelector( ‘.tasty-recipes-convert-button[data-unit-type=”‘ + unit + ‘”]’ ).click();
}

if ( scale && Number(scale) > 0 ) {
document.querySelector( ‘.tasty-recipes-scale-button[data-amount=”‘ + Number(scale) + ‘”]’ ).click();
}
});
}());

(function(){
var buttonClass = ‘tasty-recipes-scale-button’,
buttonActiveClass = ‘tasty-recipes-scale-button-active’,
buttons = document.querySelectorAll(‘.tasty-recipes-scale-button’);
if ( ! buttons ) {
return;
}

buttons.forEach(function(button){
button.addEventListener(‘click’, function(event){
event.preventDefault();
var recipe = event.target.closest(‘.tasty-recipes’);
if ( ! recipe ) {
return;
}
var otherButtons = recipe.querySelectorAll(‘.’ + buttonClass);
otherButtons.forEach(function(bt){
bt.classList.remove(buttonActiveClass);
});
button.classList.add(buttonActiveClass);

var scalables = recipe.querySelectorAll(‘span[data-amount]’);
var buttonAmount = parseFloat( button.dataset.amount );
scalables.forEach(function(scalable){
if (typeof scalable.dataset.amountOriginalType === ‘undefined’
&& typeof scalable.dataset.nfOriginal === ‘undefined’) {
if (-1 !== scalable.innerText.indexOf(‘/’)) {
scalable.dataset.amountOriginalType = ‘frac’;
}
if (-1 !== scalable.innerText.indexOf(‘.’)) {
scalable.dataset.amountOriginalType = ‘number’;
}
Object.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {
if (-1 !== scalable.innerText.indexOf(vulgar)) {
scalable.dataset.amountOriginalType = ‘vulgar’;
}
});
if (typeof scalable.dataset.amountOriginalType !== ‘undefined’) {
scalable.dataset.amountShouldRound = scalable.dataset.amountOriginalType;
}
}
var amount = parseFloat( scalable.dataset.amount ) * buttonAmount;
amount = window.tastyRecipesFormatAmount(amount, scalable);
if ( typeof scalable.dataset.unit !== ‘undefined’ ) {
if ( ! scalable.classList.contains(‘nutrifox-quantity’) ) {
if ( ! scalable.classList.contains(‘nutrifox-second-quantity’) ) {
amount += ‘ ‘ + scalable.dataset.unit;
}
}
}
scalable.innerText = amount;
});

var nonNumerics = recipe.querySelectorAll(‘[data-has-non-numeric-amount]’);
nonNumerics.forEach(function(nonNumeric){
var indicator = nonNumeric.querySelector(‘span[data-non-numeric-label]’);
if ( indicator ) {
nonNumeric.removeChild(indicator);
}
if ( 1 !== buttonAmount ) {
indicator = document.createElement(‘span’);
indicator.setAttribute(‘data-non-numeric-label’, true);
var text = document.createTextNode(‘ (x’ + buttonAmount + ‘)’);
indicator.appendChild(text);
nonNumeric.appendChild(indicator);
}
});

window.tastyRecipesUpdatePrintLink();
});
});
}());

window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.cookMode = {
wakeLockApi: false,
wakeLock: false,
cookModeSelector: ‘.tasty-recipes-cook-mode’,
init() {
if (“wakeLock” in navigator && “request” in navigator.wakeLock) {
this.wakeLockApi = navigator.wakeLock;
}

const cookModes = document.querySelectorAll(this.cookModeSelector);

if (cookModes.length > 0) {
for (const cookMode of cookModes) {
if (this.wakeLockApi) {
cookMode.querySelector(‘input[type=”checkbox”]’).addEventListener(“change”, event => {
this.checkboxChange(event.target);
}, false);
} else {
cookMode.style.display = “none”;
}
}
}
},
checkboxChange(checkbox) {
if (checkbox.checked) {
this.lock();
} else {
this.unlock();
}
},
setCheckboxesState(state) {
const checkboxes = document.querySelectorAll(this.cookModeSelector + ‘ input[type=”checkbox”]’);
for (const checkbox of checkboxes) {
checkbox.checked = state;
}
},
async lock() {
try {
this.wakeLock = await this.wakeLockApi.request(“screen”);
this.wakeLock.addEventListener(“release”, () => {
this.wakeLock = false;
this.setCheckboxesState(false);
});
this.setCheckboxesState(true);
} catch (error) {
this.setCheckboxesState(false);
}
},
unlock() {
if (this.wakeLock) {
this.wakeLock.release();
this.wakeLock = false;
}
this.setCheckboxesState(false);
}
};

(function(callback) {
if (document.readyState !== “loading”) {
callback();
} else {
document.addEventListener(“DOMContentLoaded”, callback);
}
})(() => {
window.TastyRecipes.cookMode.init();
});

window.TastyRecipes = window.TastyRecipes || {};

window.TastyRecipes.staticTooltip = {
element: null,
tooltipElement: null,
deleting: false,
init( element ) {
if ( this.deleting ) {
return;
}
this.element = element;
this.buildElements();
},
destroy() {
if ( ! this.tooltipElement || this.deleting ) {
return;
}

this.deleting = true;
this.tooltipElement.classList.remove( ‘opened’ );

setTimeout( () => {
this.tooltipElement.remove();
this.deleting = false;
}, 500 );
},
buildElements() {
const tooltipElement = document.createElement( ‘div’ );
tooltipElement.classList.add( ‘tasty-recipes-static-tooltip’);
tooltipElement.setAttribute( ‘id’, ‘tasty-recipes-tooltip’ );

const currentTooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ );
if ( currentTooltipElement ) {
document.body.replaceChild( tooltipElement, currentTooltipElement );
} else {
document.body.appendChild( tooltipElement );
}

this.tooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ );
},
show() {
if ( ! this.tooltipElement ) {
return;
}

const tooltipTop = this.element.getBoundingClientRect().top
+ window.scrollY
– 10 // 10px offset.
– this.tooltipElement.getBoundingClientRect().height;
const tooltipLeft = this.element.getBoundingClientRect().left
– ( this.tooltipElement.getBoundingClientRect().width / 2 )
+ ( this.element.getBoundingClientRect().width / 2 ) – 1;
const posLeft = Math.max( 10, tooltipLeft );
this.maybeRemoveTail( posLeft !== tooltipLeft );

this.tooltipElement.setAttribute( ‘style’, ‘top:’ + tooltipTop + ‘px;left:’ + posLeft + ‘px;’ );
this.tooltipElement.classList.add( ‘opened’ );

},
maybeRemoveTail( removeTail ) {
if ( removeTail ) {
this.tooltipElement.classList.add( ‘tr-hide-tail’ );
} else {
this.tooltipElement.classList.remove( ‘tr-hide-tail’ );
}
},
changeMessage( message ) {
if ( ! this.tooltipElement ) {
return;
}
this.tooltipElement.innerHTML = message;
}
};

window.TastyRecipes.ajax = {
sendPostRequest( url, data, success, failure ) {
const xhr = new XMLHttpRequest();
xhr.open( ‘POST’, url, true );
xhr.send( this.preparePostData( data ) );

xhr.onreadystatechange = () => {
if ( 4 !== xhr.readyState ) {
return;
}
if ( xhr.status === 200 ) {
success( JSON.parse( xhr.responseText ) );
return;
}

failure( xhr );
};

xhr.onerror = () => {
failure( xhr );
};
},
preparePostData( data ) {
const formData = new FormData();

for ( const key in data ) {
formData.append( key, data[key] );
}
return formData;
},
};

window.TastyRecipes.ratings = {
defaultRating: 0,
currentRatingPercentage: 100,
savingRating: false,
init( minRating ) {
this.minRating = minRating;

this.formWatchRating();
this.closeTooltipWhenClickOutside();
this.addBodyClassBasedOnSelectedRating();
this.backwardCompFormRatingPosition();
},
formWatchRating() {
const ratings = document.querySelectorAll(‘.tasty-recipes-no-ratings-buttons [data-rating]’);
if ( ratings.length {
event.preventDefault();
this.defaultRating = event.target.closest( ‘.checked’ ).dataset.rating;
this.setCheckedStar( event.target );
this.maybeSendRating( this.defaultRating, event.target );
this.setRatingInForm( this.defaultRating );
} );
}
},
closeTooltipWhenClickOutside() {
window.addEventListener( ‘click’, e => {
// Bailout (don’t remove the tooltip) when the clicked element is a rating star, or it’s the tooltip itself.
if ( e.target.closest( ‘.tasty-recipes-rating’ ) || e.target.classList.contains( ‘tasty-recipes-static-tooltip’ ) ) {
return;
}

window.TastyRecipes.staticTooltip.destroy();
} );
},
setRatingInForm( rating ) {
const ratingInput = document.querySelector( ‘#respond .tasty-recipes-rating[value=”‘ + rating + ‘”]’ );
if ( ! ratingInput ) {
return;
}
ratingInput.click();
},
addBodyClassBasedOnSelectedRating() {
const ratingInputs = document.querySelectorAll( ‘input.tasty-recipes-rating’ );
if ( ! ratingInputs ) {
return;
}
for ( const ratingInput of ratingInputs ) {
ratingInput.addEventListener( ‘click’, currentEvent => {
const selectedRating = currentEvent.target.getAttribute( ‘value’ );
this.handleBodyClassByRating( selectedRating );
this.toggleCommentTextareaRequired( selectedRating );
} );
}
},
handleBodyClassByRating( rating ) {
if ( rating < this.minRating ) {
document.body.classList.remove( 'tasty-recipes-selected-minimum-rating' );
return;
}
document.body.classList.add( 'tasty-recipes-selected-minimum-rating' );
},
toggleCommentTextareaRequired( rating ) {
const commentTextarea = document.getElementById( 'comment' );
if ( ! commentTextarea ) {
return;
}

if ( rating {
window.TastyRecipes.staticTooltip.changeMessage( response.data.message );
window.TastyRecipes.staticTooltip.show();
this.updateAverageText( response.data, recipeCardElement );
this.maybeFillCommentForm( response.data );

// Hide the tooltip after 5 seconds.
setTimeout( () => {
this.maybeResetTooltip( recipeCardElement, response.data, rating );
}, 5000 );
},
() => {
this.resetTooltip( recipeCardElement );
}
);
},
updateAverageText( data, recipeCardElement ) {
if ( ! data.average ) {
return;
}
this.setRatingPercent( data );

if ( ! data.count ) {
return;
}

const quickLink = document.querySelector( ‘.tasty-recipes-rating-link’ );
if ( quickLink ) {
this.setTextInContainer( quickLink, data );
this.setPartialStar( quickLink );
}

const cardStars = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
cardStars.dataset.trDefaultRating = data.average;
this.setTextInContainer( recipeCardElement.querySelector( ‘.tasty-recipes-rating’ ), data );
},
setTextInContainer( container, data ) {
if ( ! container ) {
return;
}

if ( data.label ) {
const ratingLabelElement = container.querySelector( ‘.rating-label’ );
if ( ratingLabelElement ) {
ratingLabelElement.innerHTML = data.label;
}
return;
}

const averageElement = container.querySelector( ‘.average’ );
if ( averageElement ) {
averageElement.textContent = data.average;
}

const countElement = container.querySelector( ‘.count’ );
if ( countElement ) {
countElement.textContent = data.count;
}
},
setPartialStar( container ) {
const highestStar = container.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( highestStar ) {
highestStar.dataset.trClip = this.currentRatingPercentage;
}
},
setRatingPercent( data ) {
this.defaultRating = data.average.toFixed( 1 );
const parts = data.average.toFixed( 2 ).toString().split( ‘.’ );
this.currentRatingPercentage = parts[1] ? parts[1] : 100;
if ( this.currentRatingPercentage === ’00’ ) {
this.currentRatingPercentage = 100;
}
},
setCheckedStar( target ) {
const cardRatingContainer = target.closest( ‘.tasty-recipes-ratings-buttons’ );
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( selectedRatingElement ) {
delete selectedRatingElement.dataset.trChecked;
}

const thisStar = target.closest( ‘.tasty-recipes-rating’ );
thisStar.dataset.trChecked = 1;
thisStar.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = 100;
},
maybeFillCommentForm( data ) {
if ( ! data.comment || ! data.comment.content ) {
return;
}

const commentForm = document.querySelector( ‘#commentform’ );
if ( ! commentForm ) {
return;
}

const commentBox = commentForm.querySelector( ‘[name=comment]’ );
if ( ! commentBox || commentBox.value ) {
return;
}

// Add comment details for editing.
commentBox.innerHTML = data.comment.content;
if ( data.comment.name ) {
commentForm.querySelector( ‘[name=author]’ ).value = data.comment.name;
commentForm.querySelector( ‘[name=email]’ ).value = data.comment.email;
}
},
maybeResetTooltip( recipeCardElement, data, rating ) {
if ( this.savingRating === rating ) {
this.resetTooltip( recipeCardElement, data );
}
},
resetTooltip( recipeCardElement, data ) {
window.TastyRecipes.staticTooltip.destroy();
this.savingRating = false;

// Reset the default rating.
const cardRatingContainer = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
if ( cardRatingContainer ) {
this.defaultRating = ( data && data.average ) ? data.average.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;
cardRatingContainer.dataset.trDefaultRating = this.defaultRating;

this.resetSelectedStar( cardRatingContainer, data );
}
},
resetSelectedStar( cardRatingContainer ) {
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( selectedRatingElement ) {
selectedRatingElement.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = this.currentRatingPercentage;
selectedRatingElement.parentNode.dataset.trChecked = 1;
}

const previousSelectedElement= cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( previousSelectedElement ) {
const currentSelectedRating = previousSelectedElement.querySelector(‘[data-rating]’);
if ( currentSelectedRating !== selectedRatingElement ) {
delete previousSelectedElement.dataset.trChecked;
}
}
},
backwardCompFormRatingPosition() {
const ratingsButtons = document.querySelector( ‘#respond .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons’ );
if ( ! ratingsButtons ) {
return;
}
const ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);
if ( ! ratingsButtonsStyles.display.includes( ‘flex’ ) ) {
ratingsButtons.style.direction = ‘rtl’;
}

if ( typeof tastyRecipesRating !== ‘undefined’ ) {
// Select the rating that was previously selected in admin.
ratingsButtons.querySelector( ‘.tasty-recipes-rating[value=”‘ + tastyRecipesRating + ‘”]’ ).checked = true;
}

const ratingSpans = ratingsButtons.querySelectorAll( ‘.tasty-recipes-rating’ );
for (const ratingSpan of ratingSpans) {
ratingSpan.addEventListener( ‘click’, event => {
if ( ratingSpan === event.target ) {
return;
}
ratingSpan.previousElementSibling.click();
} );
}
}
};

(function(callback) {
if (document.readyState !== “loading”) {
callback();
} else {
window.addEventListener( ‘load’, callback );
}
})(() => {
window.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 );
});

Recipe by Chef Ahmed Obo of Jambo Cafe
Story and Styling by Julia Platt Leonard
Support from Alex Hanna
Photography by Kate Russell

Subscribe to TABLE Magazine’s print edition.

6 Chefs Share Their Dream Dishes for the Santa Fe Wine & Chile Fiesta

0
Crispy Chile Pakora Fritters with Spinach, Onion, and Aromatic Spices, Served with Cilantro-Mint Chutney and Chicken Malai Kabab. Santa Fe Wine & Chile Fiesta

It’s a must on Santa Fe’s culinary calendar. The Wine & Chile Fiesta returns for its 32nd year, September 27 to October 1, 2023. It all started in September 1991 as a one-day food and wine event. Today, it’s five days with over 60 restaurants and 90 wineries. Come hungry (and thirsty), and you’re guaranteed to leave happy and full. We asked six chefs who are taking part to prepare one of their dream dishes.

Slow-Cooked Oxtail Dish with Jamaican Jerk Seasoning, Rosemary, Thyme, and Cinnamon. Santa Fe Wine & Chile Fiesta

Jambo Cafe

Caribbean-Spiced Slow-Cooked Oxtail with Mofongo & Collard Greens

Chef Ahmed Obo’s oxtail dish is comfort food that meets the Caribbean. The oxtail is tender and melting. The collard greens cut through the richness of the meat, while the mofongo–a patty made with green plantains–is the perfect sponge to soak up the juices. What to drink? Chef Obo suggests a Porcupine Ridge Syrah from South Africa. It’s full-bodied with ripe dark fruit flavors and a hint of black pepper and violets–just the thing for this Caribbean comfort classic. Get the recipe here.

Burrata Caprese Recipe with Heirloom Tomatoes, Burrata, Tangerine Juice, and Balsamic Pearls. Santa Fe Wine & Chile Fiesta

Sassella

Burrata Caprese

There is Caprese salad, and then there is Sassella’s Caprese salad. Chef Cristian Pontiggia starts with house-made burrata, pairs it with local heirloom tomatoes, adds capers for a sharp punch as well as a swirl of walnut basil pesto, and finishes it with a garnish of Hawaiian basil, tangerine Calabrian chile oil (a game-changing ingredient), dehydrated garlic, volcanic black salt, and balsamic pearls that he creates. It’s a dish that speaks to both the eyes and the stomach in equal measure. To drink, he suggests a Brunello di Montalcino: “Strong on flavor, but with the burrata, a perfect pairing.” Get the recipe here.

Crispy Chile Pakora Fritters with Spinach, Onion, and Aromatic Spices, Served with Cilantro-Mint Chutney and Chicken Malai Kabab

Raaga-Go

Chile Pakora with Cilantro-Mint Chutney and Chicken Malai Kebab with Mango Habanero Chutney

Ask Chef Paddy Rawal what inspires his cooking and he’ll tell you two things. “People eat with their eyes first, and spice is for flavor, not for heat.” His food is indeed eye-catching, colorful and bright, generous with herbs like cilantro and mint. His use of spices is a masterclass with everything from fenugreek leaves, chaat masala, carom seeds, coriander, and cumin making appearances. The result is food that is balanced and spiced impeccably. It’s also a food that’s as generous and welcoming as the chef himself. Get the recipe here.

Octopus Braised in a Symphony of Flavors with Sticky Rice, Wasabi Emulsion, Teriyaki Glaze, and Yuzu Aioli

Horno

Teriyaki-Glazed Octopus with Sticky Rice, Wasabi Emulsion, Yuzu Aioli & Furitake

Chef David Sellers’s dish, like the food he serves at his restaurant Horno is all about contrasts. Here there is richness from the teriyaki, balanced by the acidity from the yuzu and heat from the wasabi. To drink, Chef Sellers suggests L’Escale, a Sauvignon blanc from the Loire Valley. It’s juicy, fresh and can hold its own with this dish. For Sellers–a seasoned Wine & Chile Fiesta veteran–the annual event never loses its magic. “I love it. I’ll always support Wine & Chile. I think it’s one of the best events in Santa Fe.” Get the recipe here.

Exquisite Salmon Poke Infused with Yuzu, Truffled Yuzu Kosho Sauce, Spicy Avocado Purée, and Crispy Rice Cracker

Catch Santa Fe Poke

Salmon Poke with Yuzu

Chef Dakota Weiss’s Salmon Poke with Yuzu is nothing less than a plate of edible art. The ingredients–from the wafer-thin slices of lotus root and Fresno chile, to the green pops of color from her avocado purée–create a dazzling display of contrasting yet complementary flavors and textures. Artfully arranged gold flake miso sesame cracker shards are the pièce de resistance. To drink? Chef Weiss suggests a dry Riesling or an Albariño as the perfect accompaniment to this work of art. Get the recipe here.

Green Chili Risotto Recipe with Green Chile Purée, Perfect Eggs, and Microgreens

Bishop’s Lodge

Green Risotto

Ask Chef Peñalosa Nájera of Bishop’s Lodge about the ingredients for his signature green risotto and the answer is simple: Hatch green chile, poblano, “perfect egg,” and mushrooms. But probe deeper and you’ll discover a huge amount of technique behind this Southwestern riff on a classic Italian risotto. Chef Nájera is from Mexico City and has worked in Colombia, Spain, and England and this immersion in other cultures and cuisines shows in his food. “I try to bring my own experience of traveling to this dish,” he says, and it shows. Get the recipe here.

TABLE Magazine New Mexico is a proud sponsor of the 32nd Annual Santa Fe Wine and Chile Fiesta.

Story and Styling by Julia Platt Leonard / Support from Alex Hanna / Photography by Kate Russell / Dinnerware Courtesy of Wild Life Santa Fe

Subscribe to TABLE Magazine’s print edition.

7 Questions with Santa Fe Photographer Tira Howard

0
Tira Howard explored the markets of Singapore's Little India last year. A scrumptious plate of Genovese Classico photographed (and enjoyed) in Naples.

In interviews with five photographers from the United States and Canada, Mark Oppenheimer explores an essential element of 21st-century visual culture: the food photo. Whether taken by a professional with an expensive lens and a support team, or by a passionate amateur wielding a smartphone, images of food abound in our world. Settle in for a good read about what motivates the pros, and what they think makes their work not just good, but deliciously transformative.

Tira Howard

As a child, Tira Howard captured her world with a point-and-shoot camera. After studying writing and acting in college, she returned to photography in 2013. She once considered being a war correspondent but abandoned the idea after her husband reminded her of her family responsibilities. Tira and her family reside in Santa Fe.

Modern restaurant kitchen

In many of your shots there is an implied unseen presence round the edge of frame.

I feel like there’s something unnerving about the desire to have everything revealed. I enjoy secrets, and having secret worlds to exist in, because I think that makes what’s visible so much more interesting. I want there to be questions still left to answer at the end of your interaction with one of my images.

How would you describe working on set with your team?

With food photography, you’re coming to it from a place in time. You’re in your life, meeting other people who are participating in the creation of the image. You’re working as a team with a chef or someone who’s styling the scene. We converge around a plate of food that’s not going to last longer than the few minutes we’re there to photograph it.

Food and culture feature

What is the story you want to tell?

It’s all so temporary, so fleeting. And the eating of what’s in the image, the implied eating of it, is an invitation. In a photograph, that invitation just keeps on being extended. It’s always an invitation to pleasure.

How do you engage a viewer’s emotions in the shot when you can only imply the other senses?

You’re telling another human’s brain to read the frame in a way that feels good. Moving the eye from left to right, with lighting and composition, letting the rule of thirds work, following the kind of spiraling of the Fibonacci sequence, because it’s naturally occurring. And it often elicits its own emotional response. Pleasure, like sweets, is universally enjoyed.

Would you talk a little bit more about yourself working as an artist?

I think a lot of times it’s easy for artists who are trying to make a living to lose track of the meaning of what they’re doing. I want to feel the importance of every little stupid thing I have to do to arrive at an image that feels good. I want to make everything important. I want to elevate everything that interests me.

What do you hope to accomplish with your work?

More than anything, I want to have meaning in my life, and do meaningful work. It’s a tightrope, an almost impossible task, but I absolutely want, on the day of my death, to have at least some work that’s left behind that has meaning for other people, even the commercial things I do.

Artistic restaurant dish with garnishes styled

Food shots can seem very isolated, depicting a world that’s clinical, lacking a sense of human interaction.

I struggle to stay away from a clinical kind of documenting. That’s not what I’m interested in. I’m interested in that moment before you take your first bite, or if you’re in the middle of a bite, or the origin of the dish. I don’t understand the appeal of just showing a plate of food lit very clinically, because it looks to me like it’s just a crime scene photo.

Story by Mark Oppenheimer / Photography by Tira Howard

A footer photo with a black background and subscribe info and button

Subscribe to TABLE Magazine’s print edition.

7 Questions with Santa Fe Photographer Penina Meisels

0
Vanilla bean soufflé with mango sauce, photographed by Penina Meisels for Williams Sonoma.

In interviews with five photographers from the United States and Canada, Mark Oppenheimer explores an essential element of 21st-century visual culture: the food photo. Whether taken by a professional with an expensive lens and a support team, or by a passionate amateur wielding a smartphone, images of food abound in our world. Settle in for a good read about what motivates the pros, and what they think makes their work not just good, but deliciously transformative.

Penina Meisels

Over a four-decade career, Penina Meisels has received a James Beard Award and an Addy Award, and her photos are in the collections of the Smithsonian, the National Sporting Library, and the Library of Congress. With more than 30 books to her name, Penina has collaborated with Julia Child, Jacques Pepin, Joann Weir, and Williams Sonoma. She lives in Santa Fe with her loyal corgi, Dr. Watson.

A pastry tool stands vertically in front of a carton of eggs

Are there similarities between shooting sculpture and food?

In a food shot, there are so many different layers. It’s a team sport, not a single person endeavor, and so one of the big layers is the team. The end product is only as good as the weakest component.

How do you work within the constraints of an assignment?

One of the reasons I love doing cookbooks is that it’s editorial work. The constraints involve following the recipes that are given to us. Sometimes the author will give us snapshots of what that dish is supposed to look like. Sometimes we follow, sometimes we don’t. There’s creative license.

Lifestyle and food content

How do you prepare yourself before you hit the set?

I try to start with a blank mind, without anything to say or any particular purpose. I investigate these questions: what am I trying to say with it? And who am I saying it to? It’s kind of the Twyla Tharp method of the creative process; not starting with a preconceived notion of what it’s supposed to be, which requires being comfortable with discomfort.

What is the moment of engagement, that thing that hooks your curiosity?

If I don’t get goosebumps the viewer isn’t going to be curious. I want to capture beauty and to try, if possible, to make something that’s already beautiful more beautiful.

Plated gourmet dish with fresh ingredients

Do you think there is a decisive moment in food photography?

I think that the phrase decisive moment was something said when a film load had only 24 to 36 frames. Now, in the digital age it is no longer relevant. We no longer have the moment. We just have to figure out the start and the finish. We pick the shot from what is in-between.

How has failure lead you to the choices you make as a photographer?

It’s my best teacher. I don’t think of it as failure but rather as well, it didn’t work out first try, let’s try again. It goes back to the idea of being comfortable with discomfort for me.

Promoting lifestyle and culinary content

Ideally, are you shooting a beautiful plate of food or a story?

I get annoyed when people just shoot a plate of food. I want a story, a sense of place, an emotion. Is it someplace that you want to walk into and sit down? You want to see the rest of the table, eat that food, know what it tastes like. A photo of a straight plate of food doesn’t really spark my curiosity.

Story by Mark Oppenheimer / Photography by Penina Meisels

A footer photo with a black background and subscribe info and button

Subscribe to TABLE Magazine’s print edition.

Roasted Acorn Squash with Lemony Pinto Beans and Zhoug

0
A side dish of Roasted Acorn Squash with Lemony Pinto Beans and Zhoug in an orange bowl. A gold spoon sits to the left. Zhoug Recipe

Zhoug is a Middle Eastern spicy cilantro sauce. Start with one jalapeño and feel free to add more if you’d like more heat. This zhoug recipe can be made a day ahead and stored in an airtight container in the refrigerator. Any leftover zhoug is perfect with other roasted vegetables, fried eggs, or grilled chicken or fish.

There are many ways to cook beans, including soaking them overnight before cooking or making them in a pressure cooker. Another option is to boil them for a few minutes and allow them to rest covered for an hour before simmering them until cooked and tender. Start with our master bean recipe and whip up the following delicious side dish.

Recipes by Julia Platt Leonard
Food Photography by Dave Bryce
Styling by Merrie O’Donnel

Subscribe to TABLE Magazine’s print edition.

Master Pinto Bean

0
A cast iron skillet of beans. a pinto bean recipe

There are many ways to cook beans, including soaking them overnight before cooking or making them in a pressure cooker. Another option is to boil them for a few minutes and allow them to rest covered for an hour before simmering them until cooked and tender. Save the cooking liquid as it’s handy in other recipes and to thicken soups and stews. Start with Julia Platt Leonard’s master pinto bean recipe and branch out from there!

Master Pinto Bean Recipe

Makes approximately 5 cups

INGREDIENTS

1 medium white onion, peeled
2 whole cloves
1 clove garlic, peeled
1 bay leaf
1 sprig of thyme
2 cups dried pinto beans, rinsed and sorted

INSTRUCTIONS

  1. Stud the onion with the cloves and place it in a large pot along with the garlic, bay leaf, thyme, and beans.
  2. Cover by at least 4 inches of water, bring to a boil and boil for 2 minutes.
  3. Remove from the heat, cover, and allow to rest for one hour.
  4. Place back on the heat, bring to a boil, then reduce the heat and simmer uncovered until the beans are tender but firm, about 1 ½ hours.
  5. Drain, reserving the cooking liquid.

Recipes by Julia Platt Leonard / Food Photography by Dave Bryce / Styling by Merrie O’Donnell

Subscribe to TABLE Magazine’s print edition.

Savory Cheesecake with Roasted Grapes

0
Flat-lay image of a savory cheesecake, roasted grapes on a weathered table.

This unique appetizer combines the richness of cream cheese, the umami of blue cheese, the crispy crunch of phyllo, and the wonderful flavor of roasted grapes. The dish makes an excellent starter or a Meatless Monday entrée served alongside a simply dressed green salad.

Why Make a Savory Cheesecake? 

You might be thinking: Why make cheesecake savory? The rich flavor and texture of cheesecake means it isn’t only good as a dessert. Instead of drawing from sweetness, this recipe harnesses the umami of blue cheese and a bit of salt, the doubled-down richness phyllo dough and pie crust, and other wonderful, fresh ingredients to take what’s usually a dessert and turn it into a savory dish that will surprise and impress everyone at your table.

Print
clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon
Flat-lay image of a savory cheesecake, roasted grapes on a weathered table.

Savory Cheesecake with Roasted Grapes


  • Author: Anna Franklin

Description

Truly a don’t knock it till you try it recipe.


Ingredients

Scale
  • 1 store-bought pie crust
  • 1 roll store-bought phyllo dough
  • 1 tbsp butter
  • 2 cloves garlic, minced
  • 1/2 shallot, minced
  • 16 oz cream cheese
  • 1/4 cup heavy cream
  • 3 eggs
  • 4 oz good quality blue cheese
  • 1/2 cup pistachios
  • 1/2 cup pecans
  • 1 tbsp brown sugar
  • 1 stick butter, melted
  • 1 bunch grapes, drizzled with olive oil, salt, and roasted
  • Hot honey for topping, optional


Instructions

  1. Place pie dough and phyllo dough on the counter and allow to come to room temperature while prepping everything else.
  2. In a sauté pan, add 1 tbsp of butter, minced garlic, and minced shallot. Heat over low heat until the garlic and shallot is translucent and aromatic. Try to avoid any browning. Set aside and cool.
  3. In a stand mixer, add cream cheese. heavy cream, eggs, and cooked shallots and garlic. Whip until a smooth mixture is formed. Gently crumble blue cheese and fold into the cheesecake mixture. Set aside.
  4. In a food processor, add pistachios, pecans, and brown sugar. Pulse until nuts are chopped into a fine mixture, but not quite as fine as sand. Set aside.
  5. In a pie pan, roll out pie crust and par-bake at 325 degrees until the dough is halfway cooked. Remove from the oven and fill the pie crust with the cheesecake filling. Sprinkle nut mixture on top.
  6. Brush each piece of phyllo dough with melted butter and crinkle them up lengthwise and place on top of the cheesecake. Try and bunch up the thin layers as tightly as you can on top. This will give a more layered and crispy texture. Drizzle any remaining butter on top of the dough once it is all placed on top of the cheesecake.
  7. Bake at 350 degrees until the cheese filling is completely set, around 1 hour. You can use a wooden skewer to check this; it should come out clean when inserted.
  8. Garnish with roasted grapes and drizzle with hot honey and serve cold or at room temperature.

Recipes and Styling by Anna Franklin
Photography by Dave Bryce

Subscribe to TABLE Magazine’s print edition.

Roasted Kohlrabi

0
Flat-lay image of a pan of roasted kohlrabi resting on weathered wood table.

Are you unsure what to do with kohlrabi? Mellow its radishy zing with a brown butter sauté and a little sage… then kick the flavor to the next level with hazelnuts and hot honey. With this Roasted Kohlrabi recipe, in less than 15 minutes, you’ll have a magnificent Meatless Monday entrée or a side for any day of the week.

What Parts of Kohlrabi Are Edible?

Kohlrabi is so versatile because you can use every single part of the plant. Often, you’ll see people using the bottom of kohlrabi which forms into a bulbous shape. You can eat this part raw or cooked but we recommend to remove the thick green or purple skin first since it won’t break down while cooking (and will be quite a textural surprise if you bite into the raw bulb). But, besides this bulb, you can actually use the leaves and stems as well. These greens can also be cooked or eaten raw depending on your preference. Other than the recipe below you can bring kohlrabi into your slaws, soups, salads, and just about anywhere else you would add vegetables.

Recipes and Styling by Anna Franklin
Photography by Dave Bryce
With Support from Buy Fresh Buy Local Western PA

Subscribe to TABLE Magazine’s print edition.

Green Chile Braised Oxtail

0
Flat-lay image of Green Chile Braised Oxtail in a cast-iron pan set on a weathered table. Braised Oxtail Recipe

The rich, meaty deliciousness of oxtail is hard to describe. Once you’ve tried it, however, you’ll want it again and again. The hardest step in this recipe is to find a source. We recommend trying your favorite butcher. When it’s ready to serve, you will be impressed with both the tender meat and the savory gravy. Please remember to have a crusty baguette on hand to mop up every drop.

What Does Oxtail Taste Like?

Oxtail really sets itself apart from other cuts of beef with a flavor and texture you truly won’t find elsewhere. It has an intensely rich, beefy flavor that’s also a little gamey. A lot of its taste comes from the bones and marrow, which release their flavors during the long cooking process. The meat of the oxtail is tender and after a long time cooking should almost melt in your mouth. The result is a luscious, velvety texture that coats the palate rather than fighting with it. Though just like any protein, the flavor and texture all depend on your cooking method and the ingredients used, such as red wine, herbs, and spices.

Print
clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon
Flat-lay image of Green Chile Braised Oxtail in a cast-iron pan set on a weathered table. Braised Oxtail Recipe

Green Chile Braised Oxtail


  • Author: Anna Franklin

Description

The green chile adds a kick of heat to this savory dish.


Ingredients

Scale
  • 2 tbsp olive oil
  • 4 lb oxtail, 1-inch cut
  • 1 onion, chopped
  • 5 garlic cloves, chopped
  • 4 tbsp Hatch green chile, fresh or frozen
  • 8 sprigs thyme
  • 1/4 cup tomato paste
  • 1 cup red wine
  • 2 cups beef stock
  • 1 1/2 tsp cloves, whole
  • 1 1/2 tsp allspice, whole
  • Salt to taste
  • 2 tsp fresh ground pepper


Instructions

  1. Drizzle olive oil into a cast-iron skillet with lid, or a Dutch oven, and brown both sides of oxtail over medium-high heat. You may need to work in 2 or more batches. Drain excess oil leaving just enough to sauté onions, garlic and thyme.
  2. After the onions, garlic, chiles, and thyme are sautéed, add tomato paste and sauté until toasty and brown. Deglaze your pan with the red wine and then return oxtails to the skillet and add 2 cups of beef broth to cover a quarter of the oxtails. Allow the liquid to come to a simmer. Put cloves and allspice into a sachet or tie in a cheesecloth, and submerge in liquid.
  3. Season with salt and ground pepper, cover, and put into a preheated 350-degree oven for roughly 2 hours or until the oxtails are very tender. Time can vary depending on the size of the oxtail.

Recipes and Styling by Anna Franklin
Photography by Dave Bryce
With Support from Buy Fresh Buy Local Western PA

Subscribe to TABLE Magazine’s print edition.

Related News

Create a free account, or log in.

Gain access to read this article, plus limited free content.

Yes! I would like to receive new content and updates.