{"id":34151,"date":"2025-05-08T00:00:00","date_gmt":"2025-05-08T04:00:00","guid":{"rendered":"https:\/\/www.theleangreenbean.com\/?p=34151"},"modified":"2025-05-08T17:42:03","modified_gmt":"2025-05-08T21:42:03","slug":"grilled-steak-and-potato-kabobs","status":"publish","type":"post","link":"https:\/\/www.theleangreenbean.com\/grilled-steak-and-potato-kabobs\/","title":{"rendered":"Grilled Steak and Potato Kabobs"},"content":{"rendered":"\n<p><em>These Grilled Steak and Potato Kabobs are perfect for a healthy weeknight dinner or your next summer BBQ. A simple marinade adds flavor to the steak and veggies and the potatoes are pre-cooked in the microwave to make grilling quick and easy!<\/em><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"1020\" src=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2018\/08\/Grilled-Steak-and-Potato-Kabobs-1.jpg\" alt=\"Grilled Steak and Potato Kabobs with zucchini and red peppers\" class=\"wp-image-34152\" title=\"\" srcset=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2018\/08\/Grilled-Steak-and-Potato-Kabobs-1.jpg 680w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2018\/08\/Grilled-Steak-and-Potato-Kabobs-1-133x200.jpg 133w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2018\/08\/Grilled-Steak-and-Potato-Kabobs-1-367x550.jpg 367w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center\"><em>*Originally published 8\/2018. Updated 5\/2025*<\/em><\/p>\n\n\n\n<p>Hi friends!<\/p>\n\n\n\n<p>I&#8217;ve got another delicious recipe to share with you guys today: Steak Kabobs with Potatoes. They&#8217;re simple enough for a weeknight family dinner but fancy enough for a party or BBQ. Added bonus- they are easy to prep ahead so they&#8217;re grill-ready when you are!<\/p>\n\n\n\n<p>I love these grilled steak and potato kabobs because they are easy and super versatile. An easy marinade of oil, vinegar, soy sauce, honey, Worcestershire sauce garlic and onion adds flavor to the meat and veggies and you can choose your favorite veggies to customize the meal to your liking.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Shish kabobs with potatoes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Can you put potatoes on kabobs?<\/h3>\n\n\n\n<p>Yes! I think a lot of people overlook potatoes as a vegetable option for kabobs because they take longer to cook than other vegetables but with one simple trick, you can definitely include potatoes in your next kabobs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How to prep potatoes for kabobs<\/h3>\n\n\n\n<p>The trick for potatoes is cooking the potatoes in the microwave before assembling the kabobs so that everything cooks evenly on the grill in just 10 minutes!<\/p>\n\n\n\n<p>You can prep the potatoes earlier in the day or just before you&#8217;re ready to assemble the kabobs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How long to boil potatoes for kabobs<\/h3>\n\n\n\n<p>If you&#8217;re not excited about using the microwave, you can also boil the potatoes before putting them on the skewers. The boiling time will depend on the size of the potatoes but typically about 3-5 minutes for smaller potatoes and anywhere from 5 to 10 minutes for larger potatoes. You want them to be soft enough that you can easily push the skewer through the potato but not so soft they fall apart on the grill.<\/p>\n\n\n\n<p>Microwaving or parboiling the potatoes before grilling will help you get crispy grilled potatoes on kabobs &#8211; crispy on the outside and soft on the inside!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Best type of potatoes for kabobs<\/h3>\n\n\n\n<p>You can use naturally small potatoes like those from the <a href=\"https:\/\/www.littlepotatoes.com\/\" target=\"_blank\" rel=\"noopener\">Little Potato Company<\/a> or choose larger yellow or red potatoes and cut them into chunks. I wouldn&#8217;t recommend russet potatoes.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"1020\" src=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2018\/08\/Grilled-Steak-and-Potato-Kabobs-3.jpg\" alt=\"Grilled Steak and Potatoes Kabobs\" class=\"wp-image-34154\" title=\"\" srcset=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2018\/08\/Grilled-Steak-and-Potato-Kabobs-3.jpg 680w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2018\/08\/Grilled-Steak-and-Potato-Kabobs-3-133x200.jpg 133w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2018\/08\/Grilled-Steak-and-Potato-Kabobs-3-367x550.jpg 367w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/figure>\n<\/div>\n\n\n<p>These grilled steak and potato kabobs are perfect for getting your kids in the kitchen with you! My kids had fun piercing holes in the potatoes before microwaving and threading everything onto the skewers. My oldest also helped me chop the veggies &#8211; zucchini is especially good for younger kids to practice cutting &#8211; and mix the ingredients for the marinade.<\/p>\n\n\n\n<p>If you microwave the potatoes ahead of time and let them cool, the kids can also help you assemble the skewers. For more kids in the kitchen tips check out my <a href=\"https:\/\/www.theleangreenbean.com\/teaching-kids-to-cook\/\">Ultimate Guide to Teaching Kids To Cook<\/a>!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What To Serve with Steak and Potato Kabobs<\/h2>\n\n\n\n<p>These kabobs pair perfectly with salad of any kind! Try:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.theleangreenbean.com\/mediterranean-chopped-salad\/\">Mediterranean Chopped Salad<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/kale-and-white-bean-salad\/\">Kale and White Bean Salad<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/greek-quinoa-salad-with-feta\/\">Greek Quinoa Salad with Feta<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/roasted-vegetable-pasta-salad\/\">Roasted Vegetable Pasta Salad<\/a><\/li>\n<\/ul>\n\n\n\n<p>Or just serve up a bed of lettuce and use the kabobs as your salad toppings!<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"1020\" src=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2018\/08\/Grilled-Steak-and-Potato-Kabobs-2.jpg\" alt=\"Grilled Steak and Potato Kabobs with yellow potatoes, zucchini and bacon on a skewer\" class=\"wp-image-34158\" title=\"\" srcset=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2018\/08\/Grilled-Steak-and-Potato-Kabobs-2.jpg 680w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2018\/08\/Grilled-Steak-and-Potato-Kabobs-2-133x200.jpg 133w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2018\/08\/Grilled-Steak-and-Potato-Kabobs-2-367x550.jpg 367w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Grilled Steak and Potato Kabobs Recipe<\/h2>\n\n\n\n<p>Here are your directions:<\/p>\n\n\n<svg aria-hidden=\"true\" style=\"position: absolute;width: 0;height: 0;overflow: hidden\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<defs>\n<symbol viewbox=\"9 9 46 42\" id=\"wpt-star-full\">\n\t<path d=\"m46.3 52-14.4-9.5-14.4 9.4L22 35.3 8.7 24.5l17.1-.9 6.2-16 6 16 17.2 1-13.4 10.7z\" \/>\n<\/symbol>\n<\/defs>\n<\/svg>\n<a class=\"button tasty-recipes-print-button tasty-recipes-no-print tasty-recipes-print-above-card\" href=\"https:\/\/www.theleangreenbean.com\/grilled-steak-and-potato-kabobs\/print\/34162\/\">Print<\/a><span class=\"tasty-recipes-jump-target\" id=\"tasty-recipes-34162-jump-target\" style=\"display:block;padding-top:2px;margin-top:-2px;\"><\/span><div id=\"tasty-recipes-34162\" data-tr-id=\"34162\" class=\"tasty-recipes tasty-recipes-34162 tasty-recipes-display tasty-recipes-has-image\" data-tasty-recipes-customization=\"primary-color.background-color primary-color.outline-color\">\n\n\n<h2 class=\"tasty-recipes-title\" data-tasty-recipes-customization=\"h2-color.color h2-transform.text-transform\">Grilled Steak and Potato Kabobs<\/h2>\n<div class=\"tasty-recipes-image-button-container\">\n\t\t\t<div class=\"tasty-recipes-image\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2018\/08\/Grilled-Steak-and-Potato-Kabobs-3-copy-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"Grilled Steak and Potato Kabobs\" data-pin-nopin=\"true\" title=\"\">\t\t<\/div>\n\t\t<div class=\"tasty-recipes-buttons\">\n\t\t\t\t<div class=\"tasty-recipes-button-wrap\">\n\t\t\t\n<a class=\"button tasty-recipes-print-button tasty-recipes-no-print\" href=\"https:\/\/www.theleangreenbean.com\/grilled-steak-and-potato-kabobs\/print\/34162\/\" target=\"_blank\" data-tasty-recipes-customization=\"\">\n\t\t\t<svg viewBox=\"0 0 24 24\" class=\"svg-print\" aria-hidden=\"true\"><use xlink:href=\"#tasty-recipes-icon-print\"><\/use><\/svg>\n\t\tPrint Recipe<\/a>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n<\/div>\n\t<div class=\"tasty-recipes-rating\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t\t\t<p><svg aria-hidden=\"true\" style=\"position: absolute;width: 0;height: 0;overflow: hidden\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<defs>\n<symbol viewbox=\"9 9 46 42\" id=\"wpt-star-full\">\n\t<path d=\"m46.3 52-14.4-9.5-14.4 9.4L22 35.3 8.7 24.5l17.1-.9 6.2-16 6 16 17.2 1-13.4 10.7z\" \/>\n<\/symbol>\n<\/defs>\n<\/svg>\n<span class=\"tasty-recipes-ratings-buttons tasty-recipes-no-ratings-buttons\"\tdata-tr-default-rating=\"5\"\t>\t\t<span class=\"tasty-recipes-rating\" data-tr-checked=\"1\">\t\t<i class=\"checked\" data-rating=\"5\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"100\">\t\t\t\t<svg class=\"tasty-recipes-svg\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t5 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"4\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"100\">\t\t\t\t<svg class=\"tasty-recipes-svg\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t4 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"3\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"100\">\t\t\t\t<svg class=\"tasty-recipes-svg\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t3 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"2\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"100\">\t\t\t\t<svg class=\"tasty-recipes-svg\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t2 Stars\t\t\t<\/span>\t\t<\/i>\t<\/span>\t\t<span class=\"tasty-recipes-rating\" >\t\t<i class=\"checked\" data-rating=\"1\">\t\t\t<span class=\"tasty-recipes-rating-solid\" data-tr-clip=\"100\">\t\t\t\t<svg class=\"tasty-recipes-svg\"><use href=\"#wpt-star-full\" \/><\/svg>\t\t\t<\/span>\t\t\t<span class=\"tasty-recipes-screen-reader\">\t\t\t\t1 Star\t\t\t<\/span>\t\t<\/i>\t<\/span><\/span><\/p>\n\t\t\t\t\t\t\t<p><span data-tasty-recipes-customization=\"detail-label-color.color\" class=\"rating-label\"><span class=\"average\">5<\/span> from <span class=\"count\">2<\/span> reviews<\/span><\/p>\n\t\t\t<\/div>\n\n\n\t<div class=\"tasty-recipes-description\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t<p><em>These Grilled Steak and Potato Kabobs are perfect for a healthy weeknight dinner or your next summer BBQ. A simple marinade adds flavor to the steak and veggies and the potatoes are pre-cooked in the microwave to make grilling quick and easy!<\/em><\/p>\n\t<\/div>\n\n\t<div class=\"tasty-recipes-details\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t<ul>\n\t\t\t\t\t\t\t<li class=\"author\"><strong data-tasty-recipes-customization=\"detail-label-color.color\" class=\"tasty-recipes-label\">Author:<\/strong> <a data-tasty-recipes-customization=\"detail-value-color.color\" class=\"tasty-recipes-author-name\" href=\"https:\/\/www.theleangreenbean.com\/about-me\/\">Lindsay<\/a><\/li>\n\t\t\t\t\t<\/ul>\n\t<\/div>\n\n\t<div class=\"tasty-recipes-ingredients\">\n\t\t<div class=\"tasty-recipes-ingredients-header\">\n\t\t\t<div class=\"tasty-recipes-ingredients-clipboard-container\">\n\t\t\t\t<h3 data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Ingredients<\/h3>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t<div class=\"tasty-recipes-units-scale-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"tasty-recipes-scale-container\">\n\t\t\t\t\t\t<span class=\"tasty-recipes-scale-label\">Scale<\/span>\n\t\t\t\t\t\t<button class=\"tasty-recipes-scale-button tasty-recipes-scale-button-active\" data-amount=\"1\" type=\"button\">1x<\/button><button class=\"tasty-recipes-scale-button\" data-amount=\"2\" type=\"button\">2x<\/button><button class=\"tasty-recipes-scale-button\" data-amount=\"3\" type=\"button\">3x<\/button>\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t<div class=\"tasty-recipes-ingredients-body\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t<p><span data-amount=\"1.5\">1.5<\/span> pounds Certified Angus Beef\u00ae brand top sirloin steak<br \/>\n<span data-amount=\"0.33333333333333\" data-unit=\"cup\">1\/3 cup<\/span> avocado oil (olive\/canola oil also works)<br \/>\n<span data-amount=\"0.5\" data-unit=\"cup\">1\/2 cup<\/span> red wine vinegar<br \/>\n<span data-amount=\"0.25\" data-unit=\"cup\">1\/4 cup<\/span> soy sauce<br \/>\n<span data-amount=\"2\" data-unit=\"tbsp\">2 Tbsp<\/span> honey<br \/>\n<span data-amount=\"2\" data-unit=\"tbsp\">2 Tbsp<\/span> Worcestershire sauce<br \/>\n<span data-amount=\"0.5\">1\/2<\/span> small onion, diced<br \/>\n<span data-amount=\"3\">3<\/span> cloves garlic, minced<br \/>\n<span data-amount=\"1\">1<\/span> red bell pepper<br \/>\n<span data-amount=\"1\">1<\/span> small zucchini<br \/>\n<span data-amount=\"16\">16<\/span> baby red or yellow potatoes<br \/>\n<span data-amount=\"3\">3<\/span> slices thick cut bacon, cut in half<\/p>\n<!--INSIDE_INGREDIENTS-->\t\t<\/div>\n\t\t<div class=\"tasty-recipes-cook-mode\">\n\t<div class=\"tasty-recipes-cook-mode__container\">\n\t\t<label class=\"tasty-recipes-cook-mode__switch\">\n\t\t\t<input type=\"checkbox\" id=\"tasty_recipes_696e580d598d9_cookmode\">\n\t\t\t<span class=\"tasty-recipes-cook-mode__switch-slider tasty-recipes-cook-mode__switch-round\"\n\t\t\t\tdata-tasty-recipes-customization=\"button-color.background button-text-color.color\"><\/span>\n\t\t<\/label>\n\t\t<label for=\"tasty_recipes_696e580d598d9_cookmode\">\n\t\t\t<span class=\"tasty-recipes-cook-mode__label\">Cook Mode<\/span>\n\t\t\t<span class=\"tasty-recipes-cook-mode__helper\">\n\t\t\t\tPrevent your screen from going dark\t\t\t<\/span>\n\t\t<\/label>\n\t<\/div>\n<\/div>\n\t<\/div>\n\n\t<div class=\"tasty-recipe-instructions\">\n\t\t<div class=\"tasty-recipes-instructions-header\">\n\t\t\t<h3 data-tasty-recipes-customization=\"h3-color.color h3-transform.text-transform\">Instructions<\/h3>\n\t\t\t\t\t<\/div>\n\t\t<div class=\"tasty-recipes-instructions-body\" data-tasty-recipes-customization=\"body-color.color\">\n\t\t\t<ol>\n<li id=\"instruction-step-1\">Cut steaks into 10-12 large chunks. (Try to make them similar sizes so they&#8217;ll cook evenly)<\/li>\n<li id=\"instruction-step-2\">Cut the pepper and zucchini into chunks as well.<\/li>\n<li id=\"instruction-step-3\">Combine steak and vegetables in a large resealable bag.<\/li>\n<li id=\"instruction-step-4\">In a small bowl, combine oil, vinegar, soy sauce, honey, Worcestershire, garlic and onion and stir to combine.<\/li>\n<li id=\"instruction-step-5\">Pour marinade into bag, shake well and refrigerate overnight.<\/li>\n<li id=\"instruction-step-6\">Pierce potatoes with a knife or fork, place in a microwave-safe bowl and toss with a little oil.<\/li>\n<li id=\"instruction-step-7\">Microwave 3-4 minutes or until potatoes pierce easily with a knife. Let cool at least 10 minutes.<\/li>\n<li id=\"instruction-step-8\">Discard marinade.<\/li>\n<li id=\"instruction-step-9\">Thread skewers with steak, peppers, zucchini, bacon and potatoes.<\/li>\n<li id=\"instruction-step-10\">Grill over medium heat for 8-10 minutes, flipping once.<\/li>\n<\/ol>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\n\n\n\n<footer class=\"tasty-recipes-entry-footer\">\n\t<h3 data-tasty-recipes-customization=\"footer-heading-color.color h3-transform.text-transform footer-heading.innerText\">Did you make this recipe?<\/h3>\n\t<div data-tasty-recipes-customization=\"footer-description-color.color footer-description.innerHTML\"><p>Tag <a href=\"https:\/\/www.instagram.com\/theleangreenbean\" target=\"_blank\" rel=\"noreferrer noopener\">@theleangreenbean<\/a> on Instagram<\/p><\/div>\n<\/footer>\n\n\n\n<script>\nwindow.trCommon={\"minRating\":6,\"ajaxurl\":\"https:\\\/\\\/www.theleangreenbean.com\\\/wp-admin\\\/admin-ajax.php\",\"ratingNonce\":\"\",\"postId\":34151};\nwindow.TastyRecipes = window.TastyRecipes || {};\n\nwindow.TastyRecipes.smoothScroll = {\ninit() {\ndocument.addEventListener( 'click', ( e ) => {\nlet anchor = e.target;\nif ( anchor.tagName !== 'A' ) {\nanchor = anchor.closest( 'a.tasty-recipes-scrollto' );\n}\n\nif ( ! anchor || ! anchor.classList.contains( 'tasty-recipes-scrollto' ) ) {\nreturn;\n}\n\nconst elementHref = anchor.getAttribute( 'href' );\nif ( ! elementHref ) {\nreturn;\n}\n\ne.preventDefault();\nthis.goToSelector( elementHref );\n});\n},\ngoToSelector( selector ) {\nconst element = document.querySelector( selector );\nif ( ! element ) {\nreturn;\n}\nelement.scrollIntoView( { behavior: 'smooth' } );\n}\n};\n\ndocument.addEventListener(\n'DOMContentLoaded',\n() => window.TastyRecipes.smoothScroll.init()\n);\n\n(function(){\n\n\nvar bothEquals = function( d1, d2, D ) {\nvar ret = 0;\nif (d1<=D) {\nret++;\n}\nif (d2<=D) {\nret++;\n}\nreturn ret === 2;\n};\n\nvar 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+d2<=D){d1+=d2;n1+=n2;d2=D+1}else if(d1>d2){d2=D+1;}else {d1=D+1;}break}else if(x<m){n2=n1+n2;d2=d1+d2}else{n1=n1+n2;d1=d1+d2}}}if(d1>D){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-A<5e-8){break;}B=1\/(B-A);P_2=P_1;P_1=P;Q_2=Q_1;Q_1=Q}if(Q>D){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]};\n\n\nwindow.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\"));\n\nwindow.tastyRecipesFormatAmount = function(amount, el) {\nif ( parseFloat( amount ) === parseInt( amount ) ) {\nreturn amount;\n}\nvar roundType = 'frac';\nif (typeof el.dataset.amountShouldRound !== 'undefined') {\nif ('false' !== el.dataset.amountShouldRound) {\nif ( 'number' === el.dataset.amountShouldRound ) {\nroundType = 'number';\n} else if ('frac' === el.dataset.amountShouldRound) {\nroundType = 'frac';\n} else if ('vulgar' === el.dataset.amountShouldRound) {\nroundType = 'vulgar';\n} else {\nroundType = 'integer';\n}\n}\n}\nif ('number' === roundType) {\namount = Number.parseFloat(amount).toPrecision(2);\n} else if ('integer' === roundType) {\namount = Math.round(amount);\n} else if ('frac' === roundType || 'vulgar' === roundType) {\nvar denom = 8;\nif (typeof el.dataset.unit !== 'undefined') {\nvar unit = el.dataset.unit;\nif (['cups','cup','c'].includes(unit)) {\ndenom = 4;\nif (0.125 === amount) {\ndenom = 8;\n}\nif (\"0.1667\" === Number.parseFloat( amount ).toPrecision(4)) {\ndenom = 6;\n}\n}\nif (['tablespoons','tablespoon','tbsp'].includes(unit)) {\ndenom = 2;\n}\nif (['teaspoons','teaspoon','tsp'].includes(unit)) {\ndenom = 8;\n}\n}\nvar amountArray = frac.cont( amount, denom, true );\nvar newAmount = '';\nif ( amountArray[1] !== 0 ) {\nnewAmount = amountArray[1] + '\/' + amountArray[2];\nif ('vulgar' === roundType) {\nObject.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {\nif (newAmount === window.tastyRecipesVulgarFractions[vulgar]) {\nnewAmount = vulgar;\n}\n});\n}\n}\nif ( newAmount ) {\nnewAmount = ' ' + newAmount;\n}\nif ( amountArray[0] ) {\nnewAmount = amountArray[0] + newAmount;\n}\namount = newAmount;\n}\nreturn amount;\n};\n\n\nwindow.tastyRecipesUpdatePrintLink = () => {\n\nconst printButton = document.querySelector( '.tasty-recipes-print-button' );\n\n\nif ( ! printButton ) {\nreturn;\n}\n\nconst printURL = new URL( printButton.href );\nconst searchParams = new URLSearchParams( printURL.search );\n\nconst unitButton = document.querySelector( '.tasty-recipes-convert-button-active' );\nconst scaleButton = document.querySelector( '.tasty-recipes-scale-button-active' );\n\nlet unit = '';\nlet scale = '';\n\nif ( unitButton ) {\nunit = unitButton.dataset.unitType;\nsearchParams.delete('unit');\nsearchParams.set( 'unit', unit );\n}\n\nif ( scaleButton ) {\nscale = scaleButton.dataset.amount;\nsearchParams.set( 'scale', scale );\n}\n\nconst paramString = searchParams.toString();\nconst newURL = '' === paramString ? printURL.href : printURL.origin + printURL.pathname + '?' + paramString;\nconst printLinks = document.querySelectorAll( '.tasty-recipes-print-link' );\n\nprintLinks.forEach( ( el ) => {\nel.href = newURL;\n});\n\nconst printButtons = document.querySelectorAll( '.tasty-recipes-print-button' );\nprintButtons.forEach( ( el ) => {\nel.href = newURL;\n});\n};\n\n\ndocument.addEventListener( 'DOMContentLoaded', () => {\n\n\nif ( ! window.location.href.includes( '\/print\/' ) ) {\nreturn;\n}\n\nconst searchParams = new URLSearchParams( window.location.search );\n\nconst unit = searchParams.get( 'unit' );\nconst scale = searchParams.get( 'scale' );\n\nif ( unit && ( 'metric' === unit || 'usc' === unit ) ) {\ndocument.querySelector( '.tasty-recipes-convert-button[data-unit-type=\"' + unit + '\"]' ).click();\n}\n\nif ( scale && Number(scale) > 0 ) {\ndocument.querySelector( '.tasty-recipes-scale-button[data-amount=\"' + Number(scale) + '\"]' ).click();\n}\n});\n}());\n\n(function(){\nvar buttonClass = 'tasty-recipes-scale-button',\nbuttonActiveClass = 'tasty-recipes-scale-button-active',\nbuttons = document.querySelectorAll('.tasty-recipes-scale-button');\nif ( ! buttons ) {\nreturn;\n}\n\nbuttons.forEach(function(button){\nbutton.addEventListener('click', function(event){\nevent.preventDefault();\nvar recipe = event.target.closest('.tasty-recipes');\nif ( ! recipe ) {\nreturn;\n}\nvar otherButtons = recipe.querySelectorAll('.' + buttonClass);\notherButtons.forEach(function(bt){\nbt.classList.remove(buttonActiveClass);\n});\nbutton.classList.add(buttonActiveClass);\n\n\nvar scalables = recipe.querySelectorAll('span[data-amount]');\nvar buttonAmount = parseFloat( button.dataset.amount );\nscalables.forEach(function(scalable){\nif (typeof scalable.dataset.amountOriginalType === 'undefined'\n&& typeof scalable.dataset.nfOriginal === 'undefined') {\nif (-1 !== scalable.innerText.indexOf('\/')) {\nscalable.dataset.amountOriginalType = 'frac';\n}\nif (-1 !== scalable.innerText.indexOf('.')) {\nscalable.dataset.amountOriginalType = 'number';\n}\nObject.keys(window.tastyRecipesVulgarFractions).forEach(function(vulgar) {\nif (-1 !== scalable.innerText.indexOf(vulgar)) {\nscalable.dataset.amountOriginalType = 'vulgar';\n}\n});\nif (typeof scalable.dataset.amountOriginalType !== 'undefined') {\nscalable.dataset.amountShouldRound = scalable.dataset.amountOriginalType;\n}\n}\nvar amount = parseFloat( scalable.dataset.amount ) * buttonAmount;\namount = window.tastyRecipesFormatAmount(amount, scalable);\nif ( typeof scalable.dataset.unit !== 'undefined' ) {\nif ( ! scalable.classList.contains('nutrifox-quantity') ) {\nif ( ! scalable.classList.contains('nutrifox-second-quantity') ) {\namount += ' ' + scalable.dataset.unit;\n}\n}\n}\nscalable.innerText = amount;\n});\n\nvar nonNumerics = recipe.querySelectorAll('[data-has-non-numeric-amount]');\nnonNumerics.forEach(function(nonNumeric){\nvar indicator = nonNumeric.querySelector('span[data-non-numeric-label]');\nif ( indicator ) {\nnonNumeric.removeChild(indicator);\n}\nif ( 1 !== buttonAmount ) {\nindicator = document.createElement('span');\nindicator.setAttribute('data-non-numeric-label', true);\nvar text = document.createTextNode(' (x' + buttonAmount + ')');\nindicator.appendChild(text);\nnonNumeric.appendChild(indicator);\n}\n});\n\nwindow.tastyRecipesUpdatePrintLink();\n});\n});\n}());\n\nwindow.TastyRecipes = window.TastyRecipes || {};\nwindow.TastyRecipes.cookMode = {\nwakeLockApi: false,\nwakeLock: false,\ncookModeSelector: '.tasty-recipes-cook-mode',\ninit() {\nif (\"wakeLock\" in navigator && \"request\" in navigator.wakeLock) {\nthis.wakeLockApi = navigator.wakeLock;\n}\n\nconst cookModes = document.querySelectorAll(this.cookModeSelector);\n\nif (cookModes.length > 0) {\nfor (const cookMode of cookModes) {\nif (this.wakeLockApi) {\ncookMode.querySelector('input[type=\"checkbox\"]').addEventListener(\"change\", event => {\nthis.checkboxChange(event.target);\n}, false);\n} else {\ncookMode.style.display = \"none\";\n}\n}\n}\n},\ncheckboxChange(checkbox) {\nif (checkbox.checked) {\nthis.lock();\n} else {\nthis.unlock();\n}\n},\nsetCheckboxesState(state) {\nconst checkboxes = document.querySelectorAll(this.cookModeSelector + ' input[type=\"checkbox\"]');\nfor (const checkbox of checkboxes) {\ncheckbox.checked = state;\n}\n},\nasync lock() {\ntry {\nthis.wakeLock = await this.wakeLockApi.request(\"screen\");\nthis.wakeLock.addEventListener(\"release\", () => {\nthis.wakeLock = false;\nthis.setCheckboxesState(false);\n});\nthis.setCheckboxesState(true);\n} catch (error) {\nthis.setCheckboxesState(false);\n}\n},\nunlock() {\nif (this.wakeLock) {\nthis.wakeLock.release();\nthis.wakeLock = false;\n}\nthis.setCheckboxesState(false);\n}\n};\n\n(function(callback) {\nif (document.readyState !== \"loading\") {\ncallback();\n} else {\ndocument.addEventListener(\"DOMContentLoaded\", callback);\n}\n})(() => {\nwindow.TastyRecipes.cookMode.init();\n});\n\n\n\nwindow.TastyRecipes = window.TastyRecipes || {};\n\nwindow.TastyRecipes.staticTooltip = {\nelement: null,\ntooltipElement: null,\ndeleting: false,\ninit( element ) {\nif ( this.deleting ) {\nreturn;\n}\nthis.element = element;\nthis.buildElements();\n},\ndestroy() {\nif ( ! this.tooltipElement || this.deleting ) {\nreturn;\n}\n\nthis.deleting = true;\nthis.tooltipElement.classList.remove( 'opened' );\n\nsetTimeout( () => {\nthis.tooltipElement.remove();\nthis.deleting = false;\n}, 500 );\n},\nbuildElements() {\nconst tooltipElement = document.createElement( 'div' );\ntooltipElement.classList.add( 'tasty-recipes-static-tooltip');\ntooltipElement.setAttribute( 'id', 'tasty-recipes-tooltip' );\n\nconst currentTooltipElement = document.getElementById( 'tasty-recipes-tooltip' );\nif ( currentTooltipElement ) {\ndocument.body.replaceChild( tooltipElement, currentTooltipElement );\n} else {\ndocument.body.appendChild( tooltipElement );\n}\n\nthis.tooltipElement = document.getElementById( 'tasty-recipes-tooltip' );\n},\nshow() {\nif ( ! this.tooltipElement ) {\nreturn;\n}\n\nconst tooltipTop = this.element.getBoundingClientRect().top\n+ window.scrollY\n- 10 \/\/ 10px offset.\n- this.tooltipElement.getBoundingClientRect().height;\nconst tooltipLeft = this.element.getBoundingClientRect().left\n- ( this.tooltipElement.getBoundingClientRect().width \/ 2 )\n+ ( this.element.getBoundingClientRect().width \/ 2 ) - 1;\nconst posLeft = Math.max( 10, tooltipLeft );\nthis.maybeRemoveTail( posLeft !== tooltipLeft );\n\nthis.tooltipElement.setAttribute( 'style', 'top:' + tooltipTop + 'px;left:' + posLeft + 'px;' );\nthis.tooltipElement.classList.add( 'opened' );\n\n},\nmaybeRemoveTail( removeTail ) {\nif ( removeTail ) {\nthis.tooltipElement.classList.add( 'tr-hide-tail' );\n} else {\nthis.tooltipElement.classList.remove( 'tr-hide-tail' );\n}\n},\nchangeMessage( message ) {\nif ( ! this.tooltipElement ) {\nreturn;\n}\nthis.tooltipElement.innerHTML = message;\n}\n};\n\nwindow.TastyRecipes.ajax = {\nsendPostRequest( url, data, success, failure ) {\nconst xhr = new XMLHttpRequest();\nxhr.open( 'POST', url, true );\nxhr.send( this.preparePostData( data ) );\n\nxhr.onreadystatechange = () => {\nif ( 4 !== xhr.readyState ) {\nreturn;\n}\nif ( xhr.status === 200 ) {\nsuccess( JSON.parse( xhr.responseText ) );\nreturn;\n}\n\nfailure( xhr );\n};\n\nxhr.onerror = () => {\nfailure( xhr );\n};\n},\npreparePostData( data ) {\nconst formData = new FormData();\n\nfor ( const key in data ) {\nformData.append( key, data[key] );\n}\nreturn formData;\n},\n};\n\nwindow.TastyRecipes.ratings = {\ndefaultRating: 0,\ncurrentRatingPercentage: 100,\nsavingRating: false,\ninit( minRating ) {\nthis.minRating = minRating;\n\nthis.formWatchRating();\nthis.closeTooltipWhenClickOutside();\nthis.addBodyClassBasedOnSelectedRating();\nthis.backwardCompFormRatingPosition();\n},\nformWatchRating() {\nconst ratings = document.querySelectorAll('.tasty-recipes-no-ratings-buttons [data-rating]');\nif ( ratings.length <= 0 ) {\nreturn;\n}\nfor ( const rating of ratings ) {\nrating.addEventListener( 'click', event => {\nevent.preventDefault();\nthis.defaultRating = event.target.closest( '.checked' ).dataset.rating;\nthis.setCheckedStar( event.target );\nthis.maybeSendRating( this.defaultRating, event.target );\nthis.setRatingInForm( this.defaultRating );\n} );\n}\n},\ncloseTooltipWhenClickOutside() {\nwindow.addEventListener( 'click', e => {\n\/\/ Bailout (don't remove the tooltip) when the clicked element is a rating star, or it's the tooltip itself.\nif ( e.target.closest( '.tasty-recipes-rating' ) || e.target.classList.contains( 'tasty-recipes-static-tooltip' ) ) {\nreturn;\n}\n\nwindow.TastyRecipes.staticTooltip.destroy();\n} );\n},\n setRatingInForm( rating ) {\nconst ratingInput = document.querySelector( '#respond .tasty-recipes-rating[value=\"' + rating + '\"]' );\nif ( ! ratingInput ) {\nreturn;\n}\nratingInput.click();\n},\naddBodyClassBasedOnSelectedRating() {\nconst ratingInputs = document.querySelectorAll( 'input.tasty-recipes-rating' );\nif ( ! ratingInputs ) {\nreturn;\n}\nfor ( const ratingInput of ratingInputs ) {\nratingInput.addEventListener( 'click', currentEvent => {\nconst selectedRating = currentEvent.target.getAttribute( 'value' );\nthis.handleBodyClassByRating( selectedRating );\nthis.toggleCommentTextareaRequired( selectedRating );\n} );\n}\n},\nhandleBodyClassByRating( rating ) {\nif ( rating < this.minRating ) {\ndocument.body.classList.remove( 'tasty-recipes-selected-minimum-rating' );\nreturn;\n}\ndocument.body.classList.add( 'tasty-recipes-selected-minimum-rating' );\n},\ntoggleCommentTextareaRequired( rating ) {\nconst commentTextarea = document.getElementById( 'comment' );\nif ( ! commentTextarea ) {\nreturn;\n}\n\nif ( rating < this.minRating ) {\ncommentTextarea.setAttribute( 'required', '' );\nreturn;\n}\n\ncommentTextarea.removeAttribute( 'required' );\n},\nmaybeSendRating( rating, element ) {\nif ( this.savingRating === rating ) {\nreturn;\n}\n\nthis.savingRating = rating;\nwindow.TastyRecipes.staticTooltip.init( element );\n\nconst recipeCardElement = element.closest( '.tasty-recipes' );\nif ( ! recipeCardElement ) {\nwindow.TastyRecipes.staticTooltip.destroy();\nreturn;\n}\n\nwindow.TastyRecipes.ajax.sendPostRequest(\nwindow.trCommon.ajaxurl,\n{\naction: 'tasty_recipes_save_rating',\nrating,\nnonce: window.trCommon.ratingNonce,\npost_id: window.trCommon.postId,\nrecipe_id: recipeCardElement.dataset.trId,\n},\n( response ) => {\nwindow.TastyRecipes.staticTooltip.changeMessage( response.data.message );\nwindow.TastyRecipes.staticTooltip.show();\nthis.updateAverageText( response.data, recipeCardElement );\nthis.maybeFillCommentForm( response.data );\n\n\/\/ Hide the tooltip after 5 seconds.\nsetTimeout( () => {\nthis.maybeResetTooltip( recipeCardElement, response.data, rating );\n}, 5000 );\n},\n() => {\nthis.resetTooltip( recipeCardElement );\n}\n);\n},\nupdateAverageText( data, recipeCardElement ) {\nif ( ! data.average ) {\nreturn;\n}\nthis.setRatingPercent( data );\n\nif ( ! data.count ) {\nreturn;\n}\n\nconst quickLink = document.querySelector( '.tasty-recipes-rating-link' );\nif ( quickLink ) {\nthis.setTextInContainer( quickLink, data );\nthis.setPartialStar( quickLink );\n}\n\nconst cardStars = recipeCardElement.querySelector( '.tasty-recipes-ratings-buttons' );\ncardStars.dataset.trDefaultRating = data.average;\nthis.setTextInContainer( recipeCardElement.querySelector( '.tasty-recipes-rating' ), data );\n},\nsetTextInContainer( container, data ) {\nif ( ! container ) {\nreturn;\n}\n\nif ( data.label ) {\nconst ratingLabelElement = container.querySelector( '.rating-label' );\nif ( ratingLabelElement ) {\nratingLabelElement.innerHTML = data.label;\n}\nreturn;\n}\n\nconst averageElement = container.querySelector( '.average' );\nif ( averageElement ) {\naverageElement.textContent = data.average;\n}\n\nconst countElement = container.querySelector( '.count' );\nif ( countElement ) {\ncountElement.textContent = data.count;\n}\n},\nsetPartialStar( container ) {\nconst highestStar = container.querySelector( '[data-rating=\"' + Math.ceil( this.defaultRating ) + '\"]' );\nif ( highestStar ) {\nhighestStar.dataset.trClip = this.currentRatingPercentage;\n}\n},\nsetRatingPercent( data ) {\nthis.defaultRating = data.average.toFixed( 1 );\nconst parts = data.average.toFixed( 2 ).toString().split( '.' );\nthis.currentRatingPercentage = parts[1] ? parts[1] : 100;\nif ( this.currentRatingPercentage === '00' ) {\nthis.currentRatingPercentage = 100;\n}\n},\nsetCheckedStar( target ) {\nconst cardRatingContainer = target.closest( '.tasty-recipes-ratings-buttons' );\nconst selectedRatingElement = cardRatingContainer.querySelector( '[data-tr-checked]' );\nif ( selectedRatingElement ) {\ndelete selectedRatingElement.dataset.trChecked;\n}\n\nconst thisStar = target.closest( '.tasty-recipes-rating' );\nthisStar.dataset.trChecked = 1;\nthisStar.querySelector( '[data-tr-clip]' ).dataset.trClip = 100;\n},\nmaybeFillCommentForm( data ) {\nif ( ! data.comment || ! data.comment.content ) {\nreturn;\n}\n\nconst commentForm = document.querySelector( '#commentform' );\nif ( ! commentForm ) {\nreturn;\n}\n\nconst commentBox = commentForm.querySelector( '[name=comment]' );\nif ( ! commentBox || commentBox.value ) {\nreturn;\n}\n\n\/\/ Add comment details for editing.\ncommentBox.innerHTML = data.comment.content;\nif ( data.comment.name ) {\ncommentForm.querySelector( '[name=author]' ).value = data.comment.name;\ncommentForm.querySelector( '[name=email]' ).value = data.comment.email;\n}\n},\nmaybeResetTooltip( recipeCardElement, data, rating ) {\nif ( this.savingRating === rating ) {\nthis.resetTooltip( recipeCardElement, data );\n}\n},\nresetTooltip( recipeCardElement, data ) {\nwindow.TastyRecipes.staticTooltip.destroy();\nthis.savingRating = false;\n\n\/\/ Reset the default rating.\nconst cardRatingContainer = recipeCardElement.querySelector( '.tasty-recipes-ratings-buttons' );\nif ( cardRatingContainer ) {\nthis.defaultRating = ( data && data.average ) ? data.average.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;\ncardRatingContainer.dataset.trDefaultRating = this.defaultRating;\n\nthis.resetSelectedStar( cardRatingContainer, data );\n}\n},\nresetSelectedStar( cardRatingContainer ) {\nconst selectedRatingElement = cardRatingContainer.querySelector( '[data-rating=\"' + Math.ceil( this.defaultRating ) + '\"]' );\nif ( selectedRatingElement ) {\nselectedRatingElement.querySelector( '[data-tr-clip]' ).dataset.trClip = this.currentRatingPercentage;\nselectedRatingElement.parentNode.dataset.trChecked = 1;\n}\n\nconst previousSelectedElement= cardRatingContainer.querySelector( '[data-tr-checked]' );\nif ( previousSelectedElement ) {\nconst currentSelectedRating = previousSelectedElement.querySelector('[data-rating]');\nif ( currentSelectedRating !== selectedRatingElement ) {\ndelete previousSelectedElement.dataset.trChecked;\n}\n}\n},\nbackwardCompFormRatingPosition() {\nconst ratingsButtons = document.querySelector( '#respond .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons' );\nif ( ! ratingsButtons ) {\nreturn;\n}\nconst ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);\nif ( ! ratingsButtonsStyles.display.includes( 'flex' ) ) {\nratingsButtons.style.direction = 'rtl';\n}\n\nif ( typeof tastyRecipesRating !== 'undefined' ) {\n\/\/ Select the rating that was previously selected in admin.\nratingsButtons.querySelector( '.tasty-recipes-rating[value=\"' + tastyRecipesRating + '\"]' ).checked = true;\n}\n\nconst ratingSpans = ratingsButtons.querySelectorAll( '.tasty-recipes-rating' );\nfor (const ratingSpan of ratingSpans) {\nratingSpan.addEventListener( 'click', event => {\nif ( ratingSpan === event.target ) {\nreturn;\n}\nratingSpan.previousElementSibling.click();\n} );\n}\n}\n};\n\n(function(callback) {\nif (document.readyState !== \"loading\") {\ncallback();\n} else {\nwindow.addEventListener( 'load', callback );\n}\n})(() => {\nwindow.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 );\n});\n<\/script><\/div>\n\n\n<p>So easy, right?? Here&#8217;s a <a href=\"https:\/\/www.traeger.com\/learn\/steak-doneness?srsltid=AfmBOoqZqSGq52nudfZ-EKMifq4uap6dAU_nbPHOGevTzrwuFnnsyIzV\" target=\"_blank\" rel=\"noopener\">temperature guide<\/a> to follow depending how you like your steak cooked.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Grilled Steak and Potato Kabobs FAQs<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Do you need to precook potatoes for kabobs? Can I use raw potatoes on kabobs?<\/h3>\n\n\n\n<p>Yes you need to precook the potatoes in some way before using them on kabobs. Potatoes take a much longer time to cook than steak and other vegetables so if you don&#8217;t cook them ahead of time, they will still be hard and only partially cooked when everything else is done. It will also be very hard to get skewers through raw potatoes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can I bake steak and potato kabobs in the oven? <\/h3>\n\n\n\n<p>Yes! You can easily prepare these grilled steak and potato kabobs in the oven. Try baking at 400 degrees F for 10 minutes or so. You can also separate your kabobs and do some all steak and some all veggies so that you can bake them for different amounts of time if you&#8217;re worried about overcooking the steak in the oven.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What marinades work best for steak and potato kabobs?<\/h3>\n\n\n\n<p>I like the one in this grilled steak and potato kabobs recipe \ud83d\ude42 But if you want other ideas check out <a href=\"https:\/\/carlsbadcravings.com\/steak-kabobs\/\" target=\"_blank\" rel=\"noopener\">Steak Kabobs with Potatoes<\/a> or these <a href=\"https:\/\/www.howsweeteats.com\/2019\/07\/steak-and-potato-skewers\/\" target=\"_blank\" rel=\"noopener\">Steak and Potato Skewers with Chimichurri<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can you make vegetarian kabobs with just veggies and potatoes?<\/h3>\n\n\n\n<p>Yes! Feel free to leave out the steak in this recipe! Or even sub it for another protein like chicken or shrimp.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Are steak and potato kabobs good for meal prep? How do you store kabobs?<\/h3>\n\n\n\n<p>Yes! These can easily be made ahead of time. Once they&#8217;re cooked, remove from the skewers and store the steak and veggie mixture in a glass tupperware container.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can you reheat steak and potato kabobs?<\/h3>\n\n\n\n<p>Yes. You can eat the leftovers cold or reheat in the microwave or air fryer.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How do I keep potatoes from falling off skewers on the grill?<\/h3>\n\n\n\n<p>The trick is to cook the potatoes just long enough that you can thread them on the skewers. If you overcook them, they will be too crumbly on the inside and will fall apart on the grill. <\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"1020\" src=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2018\/08\/steak-and-potato-kabobs.png\" alt=\"These Grilled Steak and Potato Kabobs are perfect for a healthy weeknight dinner or your next summer BBQ. A simple marinade adds flavor to the steak and veggies and the potatoes are pre-cooked in the microwave to make grilling quick and easy!\" class=\"wp-image-34160\" title=\"\" srcset=\"https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2018\/08\/steak-and-potato-kabobs.png 680w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2018\/08\/steak-and-potato-kabobs-133x200.png 133w, https:\/\/www.theleangreenbean.com\/wp-content\/uploads\/2018\/08\/steak-and-potato-kabobs-367x550.png 367w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/figure>\n<\/div>\n\n\n<p>Be sure to let me know if you try this grilled steak and potato kabobs recipe!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Summer Grilling Recipes<\/h2>\n\n\n\n<p>Want more summer grilling recipes? Try one of these:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.theleangreenbean.com\/avocado-chicken-burgers\/\">Avocado Chicken Burgers<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/15-healthy-recipes-for-the-grill\/\">15 Healthy Recipes for the Grill<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theleangreenbean.com\/grilled-foil-packet-tilapia\/\">Grilled Foil Packet Tilapia<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.howsweeteats.com\/2021\/08\/grilled-steak-salad\/\" target=\"_blank\" rel=\"noopener\">Everyday Grilled Steak Salad<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/downshiftology.com\/recipes\/salmon-tacos\/\" target=\"_blank\" rel=\"noopener\">Grilled Salmon Tacos<\/a><\/li>\n<\/ul>\n\n\n\n<p>Enjoy!<br>&#8211;Lindsay&#8211;<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>These Grilled Steak and Potato Kabobs are perfect for a healthy weeknight dinner or your next summer BBQ. A simple marinade adds flavor to the steak and veggies and the potatoes are pre-cooked in the microwave to make grilling quick and easy! *Originally published 8\/2018. Updated 5\/2025* Hi friends! I&#8217;ve got another delicious recipe to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":34153,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[76],"tags":[220,154,132,131,129,127,218,130,140,145,157],"class_list":{"0":"post-34151","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-dinner","8":"tag-bacon","9":"tag-bell-pepper","10":"tag-garlic","11":"tag-honey","12":"tag-oil","13":"tag-onion","14":"tag-potato","15":"tag-red-wine-vinegar","16":"tag-soy-sauce","17":"tag-steak","18":"tag-zucchini","19":"entry"},"_links":{"self":[{"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/posts\/34151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/comments?post=34151"}],"version-history":[{"count":11,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/posts\/34151\/revisions"}],"predecessor-version":[{"id":62049,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/posts\/34151\/revisions\/62049"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/media\/34153"}],"wp:attachment":[{"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/media?parent=34151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/categories?post=34151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.theleangreenbean.com\/wp-json\/wp\/v2\/tags?post=34151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}