Created
January 26, 2026 01:36
-
-
Save elliotwoods/2393e14bdb944d257a34dfad81d52c3e to your computer and use it in GitHub Desktop.
Chilli Con Carne recipe using sirloin beef steak
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8" /> | |
| <title>Sirloin-Forward Chili Con Carne</title> | |
| <style> | |
| :root { | |
| font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; | |
| color-scheme: light dark; | |
| } | |
| body { | |
| margin: 0; | |
| padding: 0; | |
| background: #faf7f2; | |
| color: #222; | |
| } | |
| .page { | |
| max-width: 900px; | |
| margin: 0 auto; | |
| padding: 24px 16px 48px; | |
| } | |
| header { | |
| text-align: center; | |
| margin-bottom: 24px; | |
| padding-bottom: 16px; | |
| border-bottom: 2px solid rgba(0, 0, 0, 0.08); | |
| } | |
| h1 { | |
| font-size: 1.9rem; | |
| margin: 0 0 4px; | |
| letter-spacing: 0.04em; | |
| text-transform: uppercase; | |
| } | |
| .subtitle { | |
| font-size: 0.95rem; | |
| color: #555; | |
| margin-bottom: 4px; | |
| } | |
| .meta { | |
| font-size: 0.85rem; | |
| color: #777; | |
| } | |
| h2 { | |
| font-size: 1.25rem; | |
| margin-top: 24px; | |
| margin-bottom: 8px; | |
| border-bottom: 1px solid rgba(0, 0, 0, 0.08); | |
| padding-bottom: 4px; | |
| } | |
| h3 { | |
| font-size: 1rem; | |
| margin-top: 16px; | |
| margin-bottom: 4px; | |
| } | |
| p { | |
| line-height: 1.5; | |
| font-size: 0.95rem; | |
| margin: 4px 0 8px; | |
| } | |
| ul, ol { | |
| padding-left: 1.3rem; | |
| margin: 4px 0 10px; | |
| font-size: 0.95rem; | |
| } | |
| li + li { | |
| margin-top: 2px; | |
| } | |
| .section { | |
| margin-bottom: 18px; | |
| padding: 12px 14px; | |
| border-radius: 10px; | |
| background: rgba(255, 255, 255, 0.85); | |
| box-shadow: 0 1px 3px rgba(0,0,0,0.03); | |
| } | |
| .ingredients-section { | |
| background: #fffdf8; | |
| } | |
| .note { | |
| font-size: 0.85rem; | |
| color: #666; | |
| font-style: italic; | |
| margin-top: 4px; | |
| } | |
| .timeline { | |
| font-family: "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", monospace; | |
| font-size: 0.85rem; | |
| margin: 2px 0 6px; | |
| color: #444; | |
| } | |
| .timeline-label { | |
| font-size: 0.8rem; | |
| color: #777; | |
| margin-bottom: 2px; | |
| } | |
| .badge { | |
| display: inline-block; | |
| font-size: 0.75rem; | |
| text-transform: uppercase; | |
| letter-spacing: 0.08em; | |
| padding: 2px 8px; | |
| border-radius: 999px; | |
| background: #f1ece2; | |
| color: #555; | |
| margin-bottom: 4px; | |
| } | |
| .stage-title { | |
| display: flex; | |
| align-items: baseline; | |
| justify-content: space-between; | |
| gap: 8px; | |
| flex-wrap: wrap; | |
| margin-bottom: 4px; | |
| } | |
| .stage-title h2 { | |
| border-bottom: none; | |
| padding-bottom: 0; | |
| margin-bottom: 0; | |
| font-size: 1.1rem; | |
| } | |
| .stage-time { | |
| font-size: 0.85rem; | |
| color: #555; | |
| } | |
| .subheading { | |
| font-weight: 600; | |
| font-size: 0.9rem; | |
| margin-top: 6px; | |
| } | |
| .result-box { | |
| border-left: 3px solid #d08c3f; | |
| padding-left: 10px; | |
| margin-top: 8px; | |
| } | |
| @media print { | |
| body { | |
| background: #ffffff; | |
| } | |
| .page { | |
| padding: 12mm 10mm; | |
| } | |
| header { | |
| border-bottom-color: #000; | |
| } | |
| .section { | |
| box-shadow: none; | |
| background: #fff; | |
| } | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div class="page"> | |
| <header> | |
| <h1>Sirloin-Forward Chili Con Carne</h1> | |
| <div class="subtitle">Dutch oven · stovetop · rich, deep, gently smoky, bright finish</div> | |
| <div class="meta">Total time: ~3 hours active + 20–30 minutes rest · Serves 3–4 generously</div> | |
| </header> | |
| <section class="section ingredients-section"> | |
| <div class="badge">Overview</div> | |
| <p> | |
| This is a beef-forward, slow-cooked chili built around seared sirloin steak, a fine vegetable base, | |
| and layered spices. A small amount of dark chocolate adds depth, while a restrained use of chipotle | |
| in adobo brings gentle smokiness and warmth. Garlic is present as a background note, not the main event. | |
| </p> | |
| </section> | |
| <section class="section ingredients-section"> | |
| <div class="badge">Core Ingredients (For reference)</div> | |
| <h3>Meat</h3> | |
| <ul> | |
| <li>Sirloin steak — <strong>2 steaks (≈450–500 g total)</strong>, cut into 3.5–4 cm cubes</li> | |
| <li>Beef mince (optional) — <strong>150–200 g max</strong></li> | |
| </ul> | |
| <h3>Vegetables & Base</h3> | |
| <ul> | |
| <li>Onion — <strong>1 large</strong>, very finely diced</li> | |
| <li>Celery — <strong>2 stalks</strong>, very finely diced</li> | |
| <li>Carrot — <strong>1 large</strong>, very finely diced</li> | |
| <li>Garlic — <strong>1 clove</strong>, crushed or very finely minced</li> | |
| </ul> | |
| <h3>Tomatoes & Beans</h3> | |
| <ul> | |
| <li>Peeled plum tomatoes — <strong>2 × 400 g tins</strong></li> | |
| <li>Red kidney beans — <strong>1 × 400 g tin</strong>, drained & rinsed</li> | |
| </ul> | |
| <h3>Flavor & Seasoning</h3> | |
| <ul> | |
| <li>Ground cumin — <strong>1½ tsp</strong></li> | |
| <li>Paprika (smoked if possible) — <strong>1½ tsp</strong></li> | |
| <li>Chili powder or flakes — <strong>½–1 tsp</strong>, to taste</li> | |
| <li>85% dark chocolate — <strong>8–10 g</strong>, finely chopped</li> | |
| <li>Chipotle peppers in adobo sauce (same can): | |
| <ul> | |
| <li>Chipotle pepper — <strong>½ pepper</strong>, very finely minced (start here)</li> | |
| <li>Adobo sauce — <strong>1–2 tsp</strong></li> | |
| </ul> | |
| </li> | |
| <li>Salt & fresh black pepper — to taste</li> | |
| <li>Olive oil — as needed</li> | |
| <li>Lemon zest — <strong>optional, max ¼ tsp</strong> for brightness at the end</li> | |
| </ul> | |
| <p class="note"> | |
| Quantities are also listed again at the stage where each ingredient is actually added, so you can | |
| cook step-by-step without scrolling back up. | |
| </p> | |
| </section> | |
| <!-- STAGE 0 --> | |
| <section class="section"> | |
| <div class="stage-title"> | |
| <h2>Stage 0 — Vegetable Prep (Foundation)</h2> | |
| <div class="stage-time">⏱ ~15 minutes</div> | |
| </div> | |
| <div class="timeline-label">Timeline position</div> | |
| <div class="timeline">🟩🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜</div> | |
| <p class="subheading">Prep (before any heat)</p> | |
| <ul> | |
| <li>Onion — <strong>1 large</strong>, very finely diced</li> | |
| <li>Celery — <strong>2 stalks</strong>, very finely diced</li> | |
| <li>Carrot — <strong>1 large</strong>, very finely diced</li> | |
| </ul> | |
| <p> | |
| Aim for very small, even pieces — almost mince-sized. This allows the soffritto to melt into the sauce | |
| and give sweetness and body without needing added sugar. | |
| </p> | |
| <p class="note">Set aside in a bowl so it's ready to go when the pot is hot.</p> | |
| </section> | |
| <!-- STAGE 1 --> | |
| <section class="section"> | |
| <div class="stage-title"> | |
| <h2>Stage 1 — Steak Prep & Seasoning</h2> | |
| <div class="stage-time">⏱ ~10 minutes active (+ rest)</div> | |
| </div> | |
| <div class="timeline-label">Timeline position</div> | |
| <div class="timeline">⬜⬜⬜🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜</div> | |
| <p class="subheading">Ingredients added in this stage</p> | |
| <ul> | |
| <li>Sirloin steak — <strong>2 steaks (≈450–500 g total)</strong></li> | |
| <li>Salt — generous</li> | |
| <li>Black pepper — generous</li> | |
| </ul> | |
| <p class="subheading">Actions</p> | |
| <ol> | |
| <li>Pat the steaks very dry with kitchen paper.</li> | |
| <li>Cut into large cubes, about <strong>3.5–4 cm</strong>.</li> | |
| <li>Season generously with salt and black pepper.</li> | |
| <li>Let rest at room temperature while you heat the pot and prepare other steps.</li> | |
| </ol> | |
| <p class="note"> | |
| Dry surface + salt + time = better browning and less steaming when the meat hits the hot pan. | |
| </p> | |
| </section> | |
| <!-- STAGE 2 --> | |
| <section class="section"> | |
| <div class="stage-title"> | |
| <h2>Stage 2 — Hard Browning the Steak (Flavor Insurance)</h2> | |
| <div class="stage-time">⏱ ~15–20 minutes</div> | |
| </div> | |
| <div class="timeline-label">Timeline position</div> | |
| <div class="timeline">⬜⬜⬜⬜⬜🟩🟩🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜</div> | |
| <p class="subheading">Ingredients added in this stage</p> | |
| <ul> | |
| <li>Olive oil — <strong>1–2 tbsp</strong>, as needed</li> | |
| <li>Seasoned sirloin cubes (from Stage 1)</li> | |
| </ul> | |
| <p class="subheading">Actions</p> | |
| <ol> | |
| <li>Heat the Dutch oven over high heat until very hot.</li> | |
| <li>Add olive oil and swirl to coat the base.</li> | |
| <li>Add steak in batches, leaving plenty of space so pieces do not steam.</li> | |
| <li>Let each side develop a deep brown crust before turning.</li> | |
| <li>Transfer browned steak to a plate, keeping any juices that collect.</li> | |
| </ol> | |
| <p class="note"> | |
| The dark residue on the bottom of the pot (fond) is concentrated flavor and will dissolve into the sauce later. | |
| Don’t scrape it off yet — just don’t burn it. | |
| </p> | |
| </section> | |
| <!-- STAGE 3 --> | |
| <section class="section"> | |
| <div class="stage-title"> | |
| <h2>Stage 3 — Optional Mince Browning (Body, Not Identity)</h2> | |
| <div class="stage-time">⏱ ~5–7 minutes</div> | |
| </div> | |
| <div class="timeline-label">Timeline position</div> | |
| <div class="timeline">⬜⬜⬜⬜⬜⬜⬜⬜⬜🟩⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜</div> | |
| <p class="subheading">Ingredients added in this stage</p> | |
| <ul> | |
| <li>Beef mince (optional) — <strong>150–200 g</strong></li> | |
| </ul> | |
| <p class="subheading">Actions</p> | |
| <ol> | |
| <li>If using mince, add it directly to the hot pot with remaining fat.</li> | |
| <li>Break it up and cook until fully browned with some crisp edges.</li> | |
| <li>Do not leave it grey or steamy; some caramelisation is good.</li> | |
| </ol> | |
| <p class="note"> | |
| This adds body and richness to the sauce, but the star of the dish is still the steak. | |
| </p> | |
| </section> | |
| <!-- STAGE 4 --> | |
| <section class="section"> | |
| <div class="stage-title"> | |
| <h2>Stage 4 — Sofrito + Garlic (Sweetness, Structure, Warmth)</h2> | |
| <div class="stage-time">⏱ ~15 minutes</div> | |
| </div> | |
| <div class="timeline-label">Timeline position</div> | |
| <div class="timeline">⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜🟩🟩🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜</div> | |
| <p class="subheading">Ingredients added in this stage</p> | |
| <ul> | |
| <li>Onion — <strong>1 large</strong>, finely diced</li> | |
| <li>Celery — <strong>2 stalks</strong>, finely diced</li> | |
| <li>Carrot — <strong>1 large</strong>, finely diced</li> | |
| <li>Salt — <strong>1 good pinch</strong></li> | |
| <li>Olive oil — <strong>1 tbsp</strong> (if the pot looks dry)</li> | |
| <li>Garlic — <strong>1 clove</strong>, crushed or very finely minced</li> | |
| </ul> | |
| <p class="subheading">Actions</p> | |
| <ol> | |
| <li>Reduce heat to medium.</li> | |
| <li>Add onion, celery, carrot, salt, and 1 tbsp oil if needed.</li> | |
| <li>Cook gently, stirring occasionally, until vegetables are soft and slightly sweet, with no browning.</li> | |
| <li>Add the crushed or finely minced garlic.</li> | |
| <li>Cook the garlic for <strong>30–45 seconds</strong>, stirring constantly.</li> | |
| </ol> | |
| <p class="note"> | |
| The soffritto provides natural sweetness and body; the garlic adds a warm background note. Avoid browning the garlic or it may become bitter. | |
| </p> | |
| </section> | |
| <!-- STAGE 5 --> | |
| <section class="section"> | |
| <div class="stage-title"> | |
| <h2>Stage 5 — Bloom the Spices</h2> | |
| <div class="stage-time">⏱ ~1 minute</div> | |
| </div> | |
| <div class="timeline-label">Timeline position</div> | |
| <div class="timeline">⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜🟩⬜⬜⬜⬜⬜⬜⬜⬜⬜</div> | |
| <p class="subheading">Ingredients added in this stage</p> | |
| <ul> | |
| <li>Ground cumin — <strong>1½ tsp</strong></li> | |
| <li>Paprika (smoked if possible) — <strong>1½ tsp</strong></li> | |
| <li>Chili powder or flakes — <strong>½–1 tsp</strong>, to taste</li> | |
| <li>Black pepper — to taste</li> | |
| </ul> | |
| <p class="subheading">Actions</p> | |
| <ol> | |
| <li>Sprinkle cumin, paprika, chili, and black pepper over the soffritto.</li> | |
| <li>Stir constantly for 30–60 seconds until the spices become fragrant.</li> | |
| </ol> | |
| <p class="note"> | |
| You want the spices to “wake up” without burning. If they smell scorched or acrid, the heat is too high. | |
| </p> | |
| </section> | |
| <!-- STAGE 6 --> | |
| <section class="section"> | |
| <div class="stage-title"> | |
| <h2>Stage 6 — Tomatoes & Controlled Reduction</h2> | |
| <div class="stage-time">⏱ ~20 minutes</div> | |
| </div> | |
| <div class="timeline-label">Timeline position</div> | |
| <div class="timeline">⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜🟩🟩🟩🟩⬜⬜⬜⬜⬜</div> | |
| <p class="subheading">Ingredients added in this stage</p> | |
| <ul> | |
| <li>Peeled plum tomatoes — <strong>2 × 400 g tins</strong></li> | |
| </ul> | |
| <p class="subheading">Actions</p> | |
| <ol> | |
| <li>Pour the tomatoes into the pot.</li> | |
| <li>Crush them gently with a spoon or spatula.</li> | |
| <li>Scrape the bottom of the pot to release all the fond into the tomatoes.</li> | |
| <li>Simmer uncovered over medium-low heat for about 20 minutes, stirring occasionally.</li> | |
| </ol> | |
| <p class="note"> | |
| Cooking uncovered lets excess water evaporate, removes raw tomato acidity, and concentrates flavor without added sugar. | |
| </p> | |
| </section> | |
| <!-- STAGE 7 --> | |
| <section class="section"> | |
| <div class="stage-title"> | |
| <h2>Stage 7 — Steak Returns & Long Simmer</h2> | |
| <div class="stage-time">⏱ ~90–120 minutes</div> | |
| </div> | |
| <div class="timeline-label">Timeline position</div> | |
| <div class="timeline">⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜🟩🟩🟩🟩🟩</div> | |
| <p class="subheading">Ingredients added in this stage</p> | |
| <ul> | |
| <li>Browned steak + all resting juices (from Stage 2)</li> | |
| </ul> | |
| <p class="subheading">Actions</p> | |
| <ol> | |
| <li>Return the browned steak and any accumulated juices to the pot.</li> | |
| <li>Bring to a gentle simmer, then reduce heat to very low.</li> | |
| <li>Partially cover with the lid (slightly ajar).</li> | |
| <li>Simmer gently for 90–120 minutes, stirring occasionally.</li> | |
| </ol> | |
| <p class="note"> | |
| Aim for a very gentle simmer, not a rolling boil. The goal is tender steak that still cuts cleanly, not shredded meat. | |
| </p> | |
| </section> | |
| <!-- STAGE 8 --> | |
| <section class="section"> | |
| <div class="stage-title"> | |
| <h2>Stage 8 — Chipotle & Adobo (Controlled Smokiness)</h2> | |
| <div class="stage-time">⏱ ~10 minutes</div> | |
| </div> | |
| <div class="timeline-label">Timeline position</div> | |
| <div class="timeline">⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜🟩⬜⬜⬜</div> | |
| <p class="subheading">Ingredients added in this stage</p> | |
| <ul> | |
| <li>Chipotle pepper in adobo — <strong>½ pepper</strong>, very finely minced</li> | |
| <li>Adobo sauce (from the same can as the chipotle) — <strong>1–2 tsp</strong></li> | |
| </ul> | |
| <p class="subheading">Actions</p> | |
| <ol> | |
| <li>Finely mince half a chipotle pepper from the can.</li> | |
| <li>Add the minced pepper and 1–2 teaspoons of adobo sauce to the simmering chili.</li> | |
| <li>Stir well and simmer on low for about 10 minutes to integrate.</li> | |
| </ol> | |
| <p class="note"> | |
| Chipotle and adobo come from the same can; the pepper brings heat and smoke, while the sauce adds acidity and seasoning. | |
| Start small — you can always add more, but you cannot remove it once it’s in. | |
| </p> | |
| </section> | |
| <!-- STAGE 9 --> | |
| <section class="section"> | |
| <div class="stage-title"> | |
| <h2>Stage 9 — Chocolate (Depth, Not Sweetness)</h2> | |
| <div class="stage-time">⏱ ~10 minutes</div> | |
| </div> | |
| <div class="timeline-label">Timeline position</div> | |
| <div class="timeline">⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜🟩⬜⬜</div> | |
| <p class="subheading">Ingredients added in this stage</p> | |
| <ul> | |
| <li>85% dark chocolate — <strong>8–10 g</strong>, finely chopped</li> | |
| </ul> | |
| <p class="subheading">Actions</p> | |
| <ol> | |
| <li>Add the finely chopped dark chocolate to the pot.</li> | |
| <li>Stir until fully melted and incorporated over low heat.</li> | |
| </ol> | |
| <p class="note"> | |
| The chili should not taste like chocolate. It should simply gain extra roundness, depth, and a slightly glossier texture. | |
| </p> | |
| </section> | |
| <!-- STAGE 10 --> | |
| <section class="section"> | |
| <div class="stage-title"> | |
| <h2>Stage 10 — Beans</h2> | |
| <div class="stage-time">⏱ ~20–30 minutes</div> | |
| </div> | |
| <div class="timeline-label">Timeline position</div> | |
| <div class="timeline">⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜🟩⬜</div> | |
| <p class="subheading">Ingredients added in this stage</p> | |
| <ul> | |
| <li>Red kidney beans — <strong>1 × 400 g tin</strong>, drained & rinsed</li> | |
| </ul> | |
| <p class="subheading">Actions</p> | |
| <ol> | |
| <li>Add the drained, rinsed beans to the pot.</li> | |
| <li>Simmer gently for 20–30 minutes, stirring occasionally.</li> | |
| </ol> | |
| <p class="note"> | |
| Adding beans late helps keep them creamy inside rather than breaking apart and turning grainy. | |
| </p> | |
| </section> | |
| <!-- STAGE 11 --> | |
| <section class="section"> | |
| <div class="stage-title"> | |
| <h2>Stage 11 — Final Balance & Rest</h2> | |
| <div class="stage-time">⏱ ~20–30 minutes (heat off)</div> | |
| </div> | |
| <div class="timeline-label">Timeline position</div> | |
| <div class="timeline">⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜🟩</div> | |
| <p class="subheading">Ingredients adjusted in this stage</p> | |
| <ul> | |
| <li>Salt — to taste</li> | |
| <li>Additional chili (optional) — to taste</li> | |
| <li>Lemon zest — <strong>optional, max ¼ tsp</strong></li> | |
| </ul> | |
| <p class="subheading">Actions</p> | |
| <ol> | |
| <li>Turn off the heat and let the chili settle for a few minutes.</li> | |
| <li>Taste and adjust salt and chili heat as needed.</li> | |
| <li>If desired, add a very small amount of finely grated lemon zest (up to ¼ tsp) for subtle lift.</li> | |
| <li>Let the chili rest off heat for 20–30 minutes before serving.</li> | |
| </ol> | |
| <div class="result-box"> | |
| <p class="subheading">Final Result</p> | |
| <p> | |
| You should end up with a glossy, thick chili that clings to rice; deep beef flavor from the seared sirloin and fond; | |
| gentle smokiness from chipotle and adobo; subtle bitter depth from dark chocolate; and a finish that is rich but still | |
| clean and bright. | |
| </p> | |
| </div> | |
| </section> | |
| </div> | |
| </body> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment