Navigation
- News
- Latest News
- Sports
- Longform
- Daily Newsletter
- Weekly Newsletter
- Restaurant Guide
- Restaurant Reviews
- 100 Houston Creatives
- Stage
- Calendar
- Submit an Event
- Movie Times
- HoustonPressArtsGuide.com
- Music
- Latest Music
- Concerts
- Concert Calendar
- Submit a Music Event
- Music Newsletter
- More
- Things to Do/Tickets
- Best of Houston
- Best of Houston Readers' Choice Winners
- Slideshows
- Promotions
- Lists
- Houston Press Careers
- Local Advertising
- Things To Do Newsletter
- Best Of Newsletter
- News
- Latest News
- Sports
- Longform
- Daily Newsletter
- Weekly Newsletter
- Restaurant Guide
- Restaurant Reviews
- 100 Houston Creatives
- Stage
- Calendar
- Submit an Event
- Movie Times
- HoustonPressArtsGuide.com
- Music
- Latest Music
- Concerts
- Concert Calendar
- Submit a Music Event
- Music Newsletter
- More
- Things to Do/Tickets
- Best of Houston
- Best of Houston Readers' Choice Winners
- Slideshows
- Promotions
- Lists
- Houston Press Careers
- Local Advertising
- Things To Do Newsletter
- Best Of Newsletter
Support Us
Houston's independent source of
local news and culture
Creamed spinach, iceberg wedge salad, and macaroni and cheese are old steakhouse favorites, long served to us alongside our ribeyes.
It wouldn't be Texan to say we like them more than the beef, but that creamy, cheesy pasta with the newfangled breadcrumb topping does something naughty to us.
James Cole, chef-partner at the River Oaks location of Fleming's Steakhouse, adds some spice to his recipe.
The recipe, after the jump.
Ingredients
1 gallon water2 teaspoon kosher salt1 pound cavatappi pastaAs needed, corn oil6 ounces onions4 ounces butter, lightly salted3 tablespoon flour2 cups heavy cream3 cups half & half2 teaspoon kosher salt1 teaspoon white pepper, fine grind¾ pound smoked cheddar cheese, grated4 ounces cheddar cheese, grated1 tablespoon corn oil1 teaspoon chipotle chili powder¾ cup panko bread crumbs
1. In a large stock pot, bring water and salt to a boil. With water boiling, add pasta and cook eight to nine minutes. Drain pasta and cool down under cold running water. Pasta should be slightly firm. Toss pasta in corn oil and reserve.
2. Melt butter in a large sauce pot set on medium-high heat. Add diced onions and sauté for four to five minutes.
3. Add flour and cook for one to two minutes. Do not brown.
4. Add cream, half & half, salt and pepper and bring to a simmer. Cook until thick, about five to six minutes.
5. Grate both cheeses and blend into the sauce. Add cooked pasta and place in a separate baking crocks or a 12-by-nine-inch baking dish.
6. In a sauté pan set on media high heat, add corn oil and chipotle chili powder. Heat for 30 seconds until it starts to smoke.
7. Remove from stove and quickly stir in the breadcrumbs. Sprinkle the crumbs over the pasta and place in a 350° F oven for 15 to 20 minutes, until slightly golden brown and crisp on top.
') let lineHeight = jQuery('[line-height-check]').get(0).clientHeight; jQuery('[line-height-check]').remove() if (jQuery(element).prop('tagName').match(/HIDDEN/i) !== null) { jQuery(element).children('div').last().css({ marginBottom: `${lineHeight*2}px` }); } else { jQuery(element).css({ marginTop: `${lineHeight*2}px`, marginBottom: `${lineHeight}px` }); } // const insertionBlockClass = `fdn-paragraph-insertion-block`; const styleElementHook = `fdn-paragraph-insertion-styles`; jQuery(element).addClass(insertionBlockClass); if (jQuery(`[${styleElementHook}]`).length === 0) { jQuery('div.fdn-content-body, div #storyBody').append('
') const paragraphLineHeight = jQuery('[line-height-check]').get(0).clientHeight; jQuery('[line-height-check]').remove() const styleElement = jQuery(`
`); const styleText = ` div.fdn-content-body br+.${insertionBlockClass}:not([hidden]), div #storyBody br+.${insertionBlockClass}:not([hidden]) { margin-top: ${paragraphLineHeight*2}px; margin-bottom: ${paragraphLineHeight}px; } div.fdn-content-body br+.${insertionBlockClass}[hidden] > div:last-of-type, div #storyBody br+.${insertionBlockClass}[hidden] > div:last-of-type { margin-bottom: ${paragraphLineHeight*2}px; } ` styleElement.text(styleText); jQuery('head').append(styleElement); } // } } jQuery(element).insertBefore(this.paragraphEndNodes[index]); } else { console.warn('Foundation.ParagraphTool.insertElemenAt: invalid insertion index', index); } } this.insertElemenAtEnd = function (element) { if (this.paragraphEndNodes.length) { let lastNode = this.getNodeAtIndex(this.paragraphEndNodes.length -1); if (this.isDoubleBrParagraphBreak(lastNode) || this.isBrParagraphBreakBeforeBlockElement(lastNode)) { if (jQuery(element).get(0).tagName.match(/SCRIPT/i) !== null) { jQuery('
').insertAfter(this.paragraphEndNodes[index]); jQuery('
').insertAfter(this.paragraphEndNodes[index]); } else { jQuery('div.fdn-content-body, div #storyBody').append('
') let lineHeight = jQuery('[line-height-check]').get(0).clientHeight; jQuery('[line-height-check]').remove() if (jQuery(element).prop('tagName').match(/HIDDEN/i) !== null) { jQuery(element).children('div').last().css({ marginBottom: `${lineHeight*2}px` }); } else { jQuery(element).css({ marginTop: `${lineHeight*2}px`, marginBottom: `${lineHeight}px` }); } } } } this.bodyContainer.append(element); } this.getNodeAtIndex = function (index) { return this.paragraphEndNodes[index]; } }
`); } var paragraphCount = myParagraphTool.getParagraphEndNodeCount(); // No need to insert if there aren't enough paragaphs if (paragraphCount >= parseInt(item.requiredCountToDisplay)) { // Matches specific paragraph insertion indexes if (item.insertPoint.match(/^\d+$/) !== null) { var insertIndex = parseInt(item.insertPoint) - 1; // Insert within content if (insertIndex < paragraphCount) { myParagraphTool.insertElemenAtIndex(componentElement, insertIndex); } // Append to the end if the insert point is beyond the paragraph count else { myParagraphTool.insertElemenAtEnd(componentElement) } } // Matches for 1/2, 1/4, 2/3, 5/6, etc else if (item.insertPoint.match(/^[1223456]\/[23456]$/) !== null) { var fractionMatch = new RegExp(/^([123456])(?:\/)([23456]$)/); var fractionPart = parseInt(item.insertPoint.match(fractionMatch)[1]); var fractionWhole = parseInt(item.insertPoint.match(fractionMatch)[2]); var fractionValue = fractionPart / fractionWhole; var fractionIndex = Math.floor(myParagraphTool.paragraphEndNodes.length * fractionValue) - 1; myParagraphTool.insertElemenAtIndex(componentElement, fractionIndex); } // Matches for every Nth insertion point else if (item.insertPoint.match(/^\d*th$/i) !== null) { var intervalIndex = parseInt(item.insertPoint.match(/^(\d*)th$/i)[1]); var startingIndex = parseInt(item.startingPoint) - 1; var insertionMax = parseInt(item.maxInsertions) || 100; var insertionCount = 0; for (var i = startingIndex; i < myParagraphTool.paragraphEndNodes.length && insertionCount < insertionMax; i++) { if ((i - startingIndex) % intervalIndex === 0) { let currentNode = myParagraphTool.getNodeAtIndex(i); const clonedComponent = componentElement.clone(); myParagraphTool.insertElemenAtIndex(clonedComponent, i); insertionCount++; } } } } }); Foundation.Content['6416721'].setupInlineComponents = function () { return true; }; if (typeof callback === 'function') { callback(); } }, 200); } Foundation.Content['6416721'].previewInsertionPoints = function () { var myParagraphTool = Foundation.Content['6416721'].paragraphTool myParagraphTool.paragraphEndNodes.each((index, item) => { const insertionPointPlaceholder = jQuery(`
Insertion point ${index+1}
`) myParagraphTool.insertElemenAtIndex(insertionPointPlaceholder, index); }); return 'Paragraph insertion placeholders applied.'; }
KEEP THE HOUSTON PRESS FREE...Since we started the Houston Press, it has been defined as the free, independent voice of Houston, and we'd like to keep it that way. With local media under siege, it's more important than ever for us to rally support behind funding our local journalism. You can help by participating in our "I Support" program, allowing us to keep offering readers access to our incisive coverage of local news, food and culture with no paywalls.
Make a one-time donation today for as little as $1.
Nikki Metzgar
Contact:Nikki Metzgar
`); setTimeout(() => { (function(e,t){if(t._ym===void 0){t._ym="";var m=e.createElement("script");m.type="text/javascript",m.async=!0,m.src="//static.yieldmo.com/ym.min.js",(e.getElementsByTagName("head")[0]||e.getElementsByTagName("body")[0]).appendChild(m)}else t._ym instanceof String||void 0===t._ym.chkPls||t._ym.chkPls()})(document,window); }, 300); }}, 1000);
Trending Food & Drink
- These Houston Spots are Celebrating Fourth of July With Beers, Barbecue, Fireworks and More
- Upcoming Houston Food Events: Top Chefs Collab on a Tel Aviv and New Orleans Inspired Summer Cookout
- First Bite: Curry Pizza Company Cypress
Don't Miss Out
SIGN UP for the latestfood & drinknews, free stuff and more!
Sign Up
Become a member to support the independent voice of Houstonand help keep the future of the Houston Press FREE
I SupportLearn More
Latest Stories
- First Bite: Curry Pizza Company Cypress
By Lorretta Ruggiero
- This Week: Stuffed Belly Celebrates One Year with Half-Off Favorites
By Brooke Viggiano
- Openings and Closings: Marigold Club Soon, Granger's Now
By Lorretta Ruggiero
More »
', 'fetching') }, success: function (data) { // console.log(data.result, data.error, data) if (data) { if (data.error) { // presentResult('Trouble loading content.', 'error') } else if (data.result) { presentResult(data.result, 'remove', function () { cmInstance.queue.push(function () { if (typeof apntag === 'object') { apntag.anq.push(function() { if (typeof Foundation.ApnAds.fillAds === 'function') { Foundation.ApnAds.fillAds() } }) } }) cmInstance.queue.push(reflowRightColumnItems) }) } else { // presentResult('How did we get here?', 'error') } } else { // presentResult('No result or error returned from content request.', 'error') } }, complete: function () { fireEvent('foundation:multiitem:itemLoaded', { objId: contentOid }) cmInstance.queue.push(fetchUnloadedItems) }, error: function (error) { // presentResult('Ajax request error.', 'error') } }) } } cmInstance.queue.push(reflowRightColumnItems) cmInstance.queue.push(fetchUnloadedItems) var reflowSensor = new ResizeSensor(cmInstance.items[0], reflowRightColumnItems) jQuery(document).on('scroll resize', function () { // Prevent rapid firing of event stuff clearTimeout(onScrollTimeout) onScrollTimeout = setTimeout(function() { // console.log('Foundation.MultiItem onScroll event') updateFurthestDownInView() }, 100); }) jQuery(document).on('foundation:multiitem:itemchange', function () { // Prevent rapid firing of event stuff clearTimeout(onItemChangeTimeout) onItemChangeTimeout = setTimeout(function() { // console.log('Foundation.MultiItem foundation:multiitem:itemchange event ') cmInstance.onItemChange() }, 100); }) }; Foundation.MultiItems = Foundation.MultiItems || { add: function (multiItem) { Foundation.MultiItems[multiItem.id] = multiItem; } }; Foundation.MultiItems.add(new Foundation.MultiItem({ id: 'ContentRowMultiple', onItemChange: function () { if (this.currentPermaLink) { var state = {} var title = '' var url = this.currentPermaLink history.pushState(state, title, url) } if (this.currentCanonical) { document.querySelector('meta[property*=og\\:url]').href = this.currentCanonical document.querySelector('link[rel*=canonical]').href = this.currentCanonical } if (this.currentThumb) { document.querySelector('link[rel*=image_src]').href = this.currentThumb document.querySelector('meta[name*=thumbnail]').content = this.currentThumb document.querySelector('meta[property*=og\\:image]').content = this.currentThumb document.querySelector('meta[name*=twitter\\:image]').content = this.currentThumb } if (this.currentTitle) { document.querySelector('title').text = this.currentTitle } // Google track pageview if (typeof ga === 'function') { ga('set', 'location', window.location.href) for (let i = 2; i <= 10; i++) { let currentDimension = jQuery(Foundation.MultiItems["ContentRowMultiple"].currentItem).attr('ga-dimension'+i) if (typeof currentDimension === 'string') { ga('set', 'dimension' + i, currentDimension) } else { ga('set', 'dimension' + i, '') } } ga('send', 'pageview') // // Track when scrolling to another item // const multiItemIndex = jQuery(Foundation.MultiItems["ContentRowMultiple"].currentItem).attr('fdn-content-multi-item-index') // if (multiItemIndex.match(/[23456789]/) !== null) { // ga("send", "event", "Article", "ArticleScrolled", multiItemIndex); // /* console.log(`sending ArticleScrolled ${multiItemIndex}`); */ // } } // // Chartbeat track pageview if (typeof pSUPERFLY === 'object') { pSUPERFLY.virtualPage({ sections: jQuery(Foundation.MultiItems["ContentRowMultiple"].currentItem).attr('ga-dimension2') || '', authors: jQuery(Foundation.MultiItems["ContentRowMultiple"].currentItem).attr('ga-dimension6') || '', path: window.location.path, title: Foundation.MultiItems["ContentRowMultiple"].currentTitle || '' }) } } })) // // Track the first item on load. // jQuery(() => { // if (typeof ga === 'function') { // const multiItemIndex = jQuery(Foundation.MultiItems["ContentRowMultiple"].currentItem).attr('fdn-content-multi-item-index') // if (multiItemIndex.match(/\d/) !== null) { // ga("send", "event", "Article", "ArticleScrolled", multiItemIndex) // } // } // }) // if (typeof Foundation.Content !== 'object') { // function throwInExtraInsertions (oid) { var startIndex = 16; var objId = oid; var myBodyElement = jQuery(`[fdn-content-multi-item="${objId}"] .fdn-content-body`); var myParagraphTool = new window.Foundation.ParagraphTool(myBodyElement) // console.log(event, myBodyElement, myParagraphTool); if (typeof apntag === 'object') { apntag.anq.push(function() { // Throw in a placeholder after every 5th usable paragraph ending for (var i = startIndex; i < myParagraphTool.paragraphEndNodes.length; i++) { if (i % 4 === 0) { let currentNode = myParagraphTool.getNodeAtIndex(i); let myElement = jQuery('