{"id":17811,"date":"2026-10-24T23:45:16","date_gmt":"2026-10-25T03:45:16","guid":{"rendered":"https:\/\/www.squawka.com\/ca\/?post_type=news&#038;p=17811"},"modified":"2026-10-24T23:45:16","modified_gmt":"2026-10-25T03:45:16","slug":"match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league","status":"publish","type":"news","link":"https:\/\/www.squawka.com\/ca\/news\/premier-league\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league\/","title":{"rendered":"Tottenham vs Crystal Palace: Predictions, Picks, Odds &#038; Lineups"},"content":{"rendered":"<p><strong>Tottenham host Crystal Palace at Tottenham Hotspur Stadium on Saturday, October 31 (1:30 PM ET \/ 12:30 PM CT \/ 10:30 AM PT).<\/strong><\/p>\n<p>Tottenham&#8217;s team news is dominated by absences: suspended Rodrigo Bentancur joins knee-injury outs Xavi Simons, Wilson Odobert and Lucas Bergvall, while ankle-injury victim Mykhailo Mudryk and Savio Moreira de Oliveira are also unavailable, with doubt Destiny Udogie, doubt Oluwatosin Adarabioyo and doubt James Maddison all needing checks before kickoff. Spurs should still lean on striker Omar Marmoush and attacking midfielder Mathys Tel to lead the attack, with defender Jan Paul van Hecke dangerous at set pieces. Crystal Palace arrive without the injured Chadi Riad Dnanou, Takehiro Tomiyasu and Quinten Timber, with goalkeeper doubt Dean Henderson and striker doubt Jorgen Strand Larsen also needing checks; midfielder Tyrick Mitchell remains their most reliable attacking outlet.<\/p>\n\n\n<style>\n.sq-bpg{--lime:#a8e039;--glow:#c8f24c;--tx:#f4f8f1;--mut:rgba(244,248,241,.62);--line:rgba(255,255,255,.10);--gold:#F7B500;--b365:#ffdd00;position:relative;overflow:hidden;isolation:isolate;font-family:'Bricolage Grotesque',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--tx);max-width:960px;margin:12px auto 30px;border-radius:18px;background:radial-gradient(70% 90% at 18% 0%,rgba(168,224,57,.20) 0%,rgba(168,224,57,0) 60%),linear-gradient(135deg,#0e3f29 0%,#0a2c1f 60%,#08251a 100%);box-shadow:0 18px 44px rgba(10,44,31,.32)}\n.sq-bpg *{box-sizing:border-box}\n.sq-bpg::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url(\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20preserveAspectRatio%3D%22xMidYMid%20slice%22%20viewBox%3D%220%200%203000%203000%22%3E%3Cdefs%3E%3Cpattern%20id%3D%22a%22%20width%3D%2278%22%20height%3D%22175.5%22%20x%3D%220%22%20y%3D%220%22%20patternTransform%3D%22rotate%28-45%29%22%20patternUnits%3D%22userSpaceOnUse%22%3E%3Cpath%20fill%3D%22%2303261a%22%20d%3D%22m-38.22%20157.05-.78-78%2078-.78c.45%2043.12-34.12%2078.33-77.22%2078.78%22%2F%3E%3Cpath%20fill%3D%22%2303261a%22%20d%3D%22M77.22%200%2078%2081.6l-78%20.78C-.45%2035.67%2034.12.45%2077.22%200%22%2F%3E%3Cpath%20fill%3D%22%2303261a%22%20d%3D%22m37.78%20158.05-.78-78%2078-.78c.45%2043.12-34.12%2078.33-77.22%2078.78%22%2F%3E%3C%2Fpattern%3E%3C%2Fdefs%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20fill%3D%22url%28%23a%29%22%2F%3E%3C%2Fsvg%3E\");background-position:top left;background-size:380px 380px;opacity:.4}\n.sq-bpg__r{position:absolute;width:0;height:0;opacity:0;pointer-events:none}\n.sq-bpg__wrap{position:relative;z-index:1;padding:26px 30px 24px}\n.sq-bpg__tag{display:inline-flex;align-items:center;gap:9px;border:1.5px solid rgba(168,224,57,.55);border-radius:999px;padding:7px 16px;color:var(--lime);font-weight:800;font-size:12px;letter-spacing:2.4px;text-transform:uppercase;background:rgba(10,44,31,.4)}\n.sq-bpg__tag::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px 1px var(--glow)}\n.sq-bpg__ttl{font-size:26px;font-weight:800;letter-spacing:-.3px;line-height:1.12;margin:0;color:var(--tx)}\n.sq-bpg__sub{margin:8px 0 0;font-size:14.5px;line-height:1.5;color:var(--mut);max-width:70ch}\n.sq-bpg__perf{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}\n.sq-bpg__perf-h{font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--lime)}\n.sq-bpg__chip{font-size:12.5px;color:var(--mut);background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:999px;padding:4px 11px}\n.sq-bpg__chip b{color:var(--tx)}\n.sq-bpg__chip--big{background:var(--lime);color:#08251a;border-color:var(--lime)}\n.sq-bpg__chip--big b{color:#08251a}\n.sq-bpg__siglink{margin-left:auto;font-size:13px;font-weight:700;color:var(--lime);text-decoration:none;border-bottom:2px solid rgba(168,224,57,.35)}\n.sq-bpg__geoq{margin-top:18px;font-size:13px;font-weight:700;color:var(--tx)}\n.sq-bpg__toggle{display:flex;gap:6px;margin-top:9px}\n.sq-bpg__tab{flex:1;text-align:center;cursor:pointer;user-select:none;font-size:14.5px;font-weight:800;line-height:1.2;padding:10px;border-radius:11px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--mut);transition:.15s}\n.sq-bpg__tab span{display:block;font-size:11px;font-weight:600;margin-top:3px;opacity:.8}\n.sq-bpg__r--us:checked ~ .sq-bpg__toggle .sq-bpg__tab--us,\n.sq-bpg__r--row:checked ~ .sq-bpg__toggle .sq-bpg__tab--row{background:var(--lime);color:#08251a;border-color:var(--lime)}\n.sq-bpg__list{margin-top:16px;border-top:1px solid var(--line)}\n.sq-bpg__row{display:grid;grid-template-columns:1fr 122px;gap:14px;align-items:center;padding:15px 2px;border-bottom:1px solid var(--line)}\n.sq-bpg__pk{font-size:16px;font-weight:800;line-height:1.25;color:var(--tx)}\n.sq-bpg__top{display:inline-block;vertical-align:middle;margin-left:8px;font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#5b3b00;background:linear-gradient(90deg,#ffe07a,var(--gold));padding:3px 8px;border-radius:6px}\n.sq-bpg__why{display:block;margin-top:5px;font-size:13.5px;line-height:1.5;color:var(--mut)}\n.sq-bpg__pr{text-align:center}\n.sq-bpg__prob{display:block;font-size:26px;font-weight:800;color:var(--lime);line-height:1}\n\/* pre-odds confidence stars (shown at launch before prices post; the numeric\n   backfill swaps this cell for the .sq-bpg__prob %% when odds fill) *\/\n.sq-bpg__stars{display:block;font-size:17px;line-height:1;letter-spacing:1px}\n.sq-bpg__stars .d{opacity:.26}\n.sq-bpg__prl{display:block;font-size:10.5px;letter-spacing:.4px;text-transform:uppercase;color:var(--mut);margin-top:3px}\n.sq-bpg__odd{display:none;margin-top:7px;font-size:12.5px;font-weight:700;color:var(--tx);background:rgba(255,255,255,.08);border-radius:7px;padding:3px 8px}\n.sq-bpg__odd--soon{color:var(--mut);font-weight:600}\n.sq-bpg__r--row:checked ~ .sq-bpg__list .sq-bpg__odd{display:inline-block}\na.sq-bpg__prob,a.sq-bpg__odd{cursor:pointer}\na.sq-bpg__prob{color:var(--lime);text-decoration:none}\na.sq-bpg__prob:hover{text-decoration:underline}\na.sq-bpg__odd{text-decoration:none}\na.sq-bpg__odd:hover{filter:brightness(1.08)}\n.sq-bpg__r--row:checked ~ .sq-bpg__list a.sq-bpg__prob{pointer-events:none;cursor:default}\n.sq-bpg__approach{margin:15px 0 0;font-size:13.5px;line-height:1.55;color:var(--tx)}\n.sq-bpg__panel{display:none;margin-top:16px}\n.sq-bpg__r--us:checked ~ .sq-bpg__panel--us{display:block}\n.sq-bpg__r--row:checked ~ .sq-bpg__panel--row{display:block}\n.sq-bpg__act{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 18px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid var(--line)}\n.sq-bpg__act-txt{flex:1;min-width:200px}\n.sq-bpg__act-txt b{display:block;font-size:16px;color:var(--tx)}\n.sq-bpg__act-txt span{display:block;font-size:13px;color:var(--mut);margin-top:2px}\n.sq-bpg__cta{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:800;text-decoration:none;padding:13px 22px;border-radius:11px;white-space:nowrap}\n.sq-bpg__cta--kal{background:linear-gradient(135deg,var(--lime),var(--glow));color:#08251a;box-shadow:0 8px 18px rgba(168,224,57,.28)}\n.sq-bpg__cta--b365{background:var(--b365);color:#1a1a1a;box-shadow:0 8px 18px rgba(0,0,0,.28)}\n.sq-bpg__altsdiv{height:1px;background:var(--line);margin:16px 0 0}\n.sq-bpg__altslead{margin:14px 0 0;font-size:13px;color:var(--mut)}\n.sq-bpg__altslead a{color:var(--lime);font-weight:700;text-decoration:none;border-bottom:1px solid rgba(168,224,57,.35)}\n.sq-bpg__altsrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}\n.sq-bpg__altsbtn{flex:1 1 160px;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:11px 16px;border-radius:11px;background:#5a26d6;border:1px solid rgba(255,255,255,.10);color:#fff;font-weight:800;font-size:14px;text-decoration:none;box-shadow:0 4px 14px rgba(90,38,214,.30);transition:.15s}\n.sq-bpg__altsbtn:hover{background:#6b34e8}\n.sq-bpg__altsbtn img{height:18px;width:auto;display:block;filter:brightness(0) invert(1);opacity:.97}\n.sq-bpg__disc{margin:12px 0 0;font-size:11.5px;line-height:1.5;color:rgba(244,248,241,.5)}\n@media(max-width:640px){\n .sq-bpg__wrap{padding:22px 16px 20px}\n .sq-bpg__ttl{font-size:21px}\n .sq-bpg__sub{font-size:14px}\n .sq-bpg__perf{gap:7px}\n .sq-bpg__siglink{margin-left:0;flex-basis:100%;margin-top:2px}\n .sq-bpg__row{grid-template-columns:1fr 96px;gap:10px}\n .sq-bpg__prob{font-size:22px}\n .sq-bpg__odd{font-size:11px;padding:2px 6px;line-height:1.3}\n .sq-bpg__act{padding:14px}\n .sq-bpg__act-txt{min-width:0}\n .sq-bpg__cta{width:100%;justify-content:center}\n .sq-bpg__altsbtn{flex:1 1 120px}\n}\n@media(max-width:400px){\n .sq-bpg__ttl{font-size:19px}\n .sq-bpg__pk{font-size:15px}\n .sq-bpg__why{font-size:12.5px}\n .sq-bpg__row{grid-template-columns:1fr 82px}\n .sq-bpg__prob{font-size:19px}\n .sq-bpg__altsbtn{flex:1 1 100%}\n}\n<\/style>\n<style>.sq-bpg--b365 .sq-bpg__odd{display:inline-flex !important}<\/style>\n\n<div class=\"sq-bpg sq-bpg--b365\" id=\"sq-bpg-totten-4qvyalwcljbxbkm7jsujlg6j8\">\n <div class=\"sq-bpg__wrap\">\n  <h2 class=\"sq-bpg__ttl\">Tottenham vs Crystal Palace: Best Bets &amp; Predictions<\/h2>\n  <p class=\"sq-bpg__sub\">Tottenham aim to make home advantage count against a leaky Crystal Palace defence.<\/p>\n  <div class=\"sq-bpg__list\">\n    <div class=\"sq-bpg__row\" data-market=\"Result\" data-selection=\"Tottenham\" data-prob=\"61\" data-odds=\"-163\" data-confidence=\"4\">\n      <div><span class=\"sq-bpg__pk\">Tottenham to win<\/span><span class=\"sq-bpg__top\">Top pick<\/span><span class=\"sq-bpg__why\">Tottenham have won their last 2 matches, including a 2-0 win away at Chelsea, and sit on 9 points from 8 games compared to Crystal Palace&#x27;s 7 points from 7.<\/span><\/div>\n      <div class=\"sq-bpg__pr\"><a class=\"sq-bpg__prob\" href=\"\/en\/go\/bet365?q=ca-all-tmp-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\">61%<\/a><span class=\"sq-bpg__prl\">win prob.<\/span><a class=\"sq-bpg__odd\" href=\"\/en\/go\/bet365?q=ca-all-tmp-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\">-163 @ bet365<\/a><\/div>\n    <\/div>\n    <div class=\"sq-bpg__row\" data-market=\"Correct Score\" data-selection=\"Tottenham 1-0 Crystal Palace\" data-prob=\"11\" data-odds=\"850\" data-confidence=\"3\">\n      <div><span class=\"sq-bpg__pk\">Correct Score: Tottenham 1-0 Crystal Palace<\/span><span class=\"sq-bpg__why\">Crystal Palace&#x27;s -8 goal difference, including a 5-0 defeat at Brighton, points to a tight, low-scoring afternoon at Tottenham Hotspur Stadium.<\/span><\/div>\n      <div class=\"sq-bpg__pr\"><a class=\"sq-bpg__prob\" href=\"\/en\/go\/bet365?q=ca-all-tmp-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\">11%<\/a><span class=\"sq-bpg__prl\">chance<\/span><a class=\"sq-bpg__odd\" href=\"\/en\/go\/bet365?q=ca-all-tmp-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\">850 @ bet365<\/a><\/div>\n    <\/div>\n    <div class=\"sq-bpg__row\" data-market=\"Both Teams to Score\" data-selection=\"No\" data-prob=\"48\" data-odds=\"110\" data-confidence=\"3\">\n      <div><span class=\"sq-bpg__pk\">Both Teams to Score: No<\/span><span class=\"sq-bpg__why\">Crystal Palace&#x27;s -8 goal difference and a 5-0 defeat at Brighton suggest Tottenham have a strong chance of keeping a clean sheet.<\/span><\/div>\n      <div class=\"sq-bpg__pr\"><a class=\"sq-bpg__prob\" href=\"\/en\/go\/bet365?q=ca-all-tmp-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\">48%<\/a><span class=\"sq-bpg__prl\">chance<\/span><a class=\"sq-bpg__odd\" href=\"\/en\/go\/bet365?q=ca-all-tmp-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\">110 @ bet365<\/a><\/div>\n    <\/div>\n    <div class=\"sq-bpg__row\" data-market=\"Over 2.5 Goals\" data-selection=\"Under 2.5\" data-prob=\"61\" data-odds=\"130\" data-confidence=\"4\">\n      <div><span class=\"sq-bpg__pk\">Under 2.5 Goals<\/span><span class=\"sq-bpg__why\">Tottenham have played out 2 low-scoring draws in their last 5 games (0-0 with Everton, 1-1 at Manchester United), supporting a tight finish under 2.5 goals.<\/span><\/div>\n      <div class=\"sq-bpg__pr\"><a class=\"sq-bpg__prob\" href=\"\/en\/go\/bet365?q=ca-all-tmp-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\">61%<\/a><span class=\"sq-bpg__prl\">chance<\/span><a class=\"sq-bpg__odd\" href=\"\/en\/go\/bet365?q=ca-all-tmp-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\">130 @ bet365<\/a><\/div>\n    <\/div>\n    <div class=\"sq-bpg__row\" data-market=\"Anytime Goalscorer\" data-selection=\"Omar Marmoush\" data-prob=\"\" data-odds=\"\" data-confidence=\"3\" data-player-id=\"b8if5dg0k9prjik99aiutewh5\">\n      <div><span class=\"sq-bpg__pk\">Anytime Goalscorer: Omar Marmoush<\/span><span class=\"sq-bpg__why\">Marmoush leads Tottenham&#x27;s sample with 12 shots and 4 shots on target this season, giving him the clearest route to goal in a tight game.<\/span><\/div>\n      <div class=\"sq-bpg__pr\"><span class=\"sq-bpg__stars\" role=\"img\" aria-label=\"Confidence 3 of 5\">\u2b50\u2b50\u2b50<span class=\"d\">\u2b50\u2b50<\/span><\/span><span class=\"sq-bpg__prl\">chance<\/span><span class=\"sq-bpg__odd sq-bpg__odd--soon\">opening soon @ bet365<\/span><\/div>\n    <\/div>\n  <\/div>\n  <p class=\"sq-bpg__approach\">Our approach: Signal&#x27;s model weighs standings, form and player data together, landing on Tottenham to win 1-0 at home while flagging Crystal Palace as the value side given the gap between the model&#x27;s numbers and the wider market.<\/p>\n  <div class=\"sq-bpg__panel sq-bpg__panel--row\" style=\"display:block\">\n    <div class=\"sq-bpg__act\">\n      <div class=\"sq-bpg__act-txt\"><b>Back these with bet365<\/b><span>Odds shown in American format; your local odds may vary.<\/span><\/div>\n      <a class=\"sq-bpg__cta sq-bpg__cta--b365\" href=\"\/en\/go\/bet365?q=ca-all-tmp-wof-s-spo\" rel=\"sponsored nofollow\" target=\"_blank\">Bet with bet365 &rarr;<\/a>\n      <a class=\"sq-bpg__review\" href=\"https:\/\/www.squawka.com\/ca\/bet\/betting-sites\/bet365\/\">bet365 review<\/a>\n    <\/div>\n    <p class=\"sq-bpg__disc\">Odds correct at time of writing and shown in American format for illustration; your local odds may vary. 19+ (18+ in AB\/MB\/QC). Please play responsibly. ConnexOntario: 1-866-531-2600 (ON).<\/p>\n  <\/div>\n <\/div>\n<\/div>\n\n\n<h2>Season Form &amp; Standings<\/h2>\n<style>\n.sq-standings table{width:100%;border-collapse:collapse;table-layout:auto}\n.sq-standings th,.sq-standings td{text-align:center;padding:8px 10px;white-space:nowrap;vertical-align:middle}\n.sq-standings th:first-child,.sq-standings td:first-child{text-align:left}\n@media (max-width:600px){\n  .sq-standings{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}\n  .sq-standings table{min-width:560px}\n  .sq-standings th,.sq-standings td{padding:6px 8px;font-size:13px}\n}\n<\/style>\n\n<p>Tottenham have posted nine points from eight games (two wins, three draws, three losses), while Crystal Palace have seven points from seven matches (two wins, 1 draw, four losses) heading into this one.<\/p>\n\n<p><strong>Premier League<\/strong><\/p>\n\n<figure class=\"wp-block-table sq-standings\"><table>\n<thead>\n<tr><th>Team<\/th><th>Pos<\/th><th>GP<\/th><th>W<\/th><th>D<\/th><th>L<\/th><th>GF<\/th><th>GA<\/th><th>GD<\/th><th>Pts<\/th><\/tr>\n<\/thead>\n<tbody>\n<tr><td>Tottenham<\/td><td>12<\/td><td>8<\/td><td>2<\/td><td>3<\/td><td>3<\/td><td>8<\/td><td>10<\/td><td>-2<\/td><td>9<\/td><\/tr>\n<tr><td>Crystal Palace<\/td><td>16<\/td><td>7<\/td><td>2<\/td><td>1<\/td><td>4<\/td><td>9<\/td><td>17<\/td><td>-8<\/td><td>7<\/td><\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n<!-- SQ-LINEUPS-START -->\n\n\n<div class=\"sq-teamnews sq-teamnews--theme-epl sq-teamnews--predicted sq-teamnews--state-predicted\">\n<style>\n.sq-teamnews,.sq-teamnews *{box-sizing:border-box}\n.sq-teamnews{\n  \/* \u2500\u2500 THEME TOKENS \u2014 only these values change per competition \u2500\u2500 *\/\n  --sq-primary:#1B5E3B;      \/* forest green \u2014 accents, formation chip        *\/\n  --sq-accent:#A8E039;       \/* electric lime \u2014 chevron + confirmed pill      *\/\n  --sq-accent-2:#C8F24C;     \/* brighter lime \u2014 chevron highlight             *\/\n  --sq-gold:#F0B429;         \/* gold \u2014 goalkeeper jersey + note markers       *\/\n  --sq-ink:#16201b;          \/* body text                                     *\/\n  --sq-surface:#ffffff;      \/* card background                               *\/\n  --sq-ground:#F4F6F2;       \/* inset background                              *\/\n  --sq-line:#E4E7E2;         \/* hairline borders                             *\/\n  --sq-muted:#6B7770;        \/* caveat \/ footnote text                       *\/\n  --sq-headA:#0e3f29; --sq-headB:#08251a;  \/* header gradient stops          *\/\n  --sq-turfA:#1c7d4b; --sq-turfB:#125e37;  \/* pitch gradient stops           *\/\n  \/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  font-family:inherit;\n  color:var(--sq-ink);background:var(--sq-surface);\n  border:1px solid var(--sq-line);border-radius:16px;overflow:hidden;\n  box-shadow:0 18px 42px -30px rgba(14,36,25,.55);\n  max-width:100%;line-height:1.4;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;\n  margin:24px 0 32px;\n}\n\/* \u2500\u2500 header \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.sq-teamnews__head{position:relative;overflow:hidden;padding:16px 18px 15px;\n  background:linear-gradient(105deg,var(--sq-headA) 0%,var(--sq-headB) 100%);\n  border-left:5px solid var(--sq-accent);color:#f4f8f1;}\n.sq-teamnews__head::before{content:\"\";position:absolute;inset:0;opacity:.06;pointer-events:none;\n  background-size:560px 560px;\n  background-image:url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 3000 3000' preserveAspectRatio='xMidYMid slice'><defs><pattern id='a' width='78' height='175.5' patternTransform='rotate(-45)' patternUnits='userSpaceOnUse'><path fill='%23ffffff' d='m-38.22 157.05-.78-78 78-.78c.45 43.12-34.12 78.33-77.22 78.78'\/><path fill='%23ffffff' d='M77.22 0 78 81.6l-78 .78C-.45 35.67 34.12.45 77.22 0'\/><path fill='%23ffffff' d='m37.78 158.05-.78-78 78-.78c.45 43.12-34.12 78.33-77.22 78.78'\/><\/pattern><\/defs><rect width='100%25' height='100%25' fill='url(%23a)'\/><\/svg>\");}\n.sq-teamnews__brandrow{position:relative;display:flex;align-items:center;gap:9px;margin-bottom:10px;}\n.sq-teamnews__chev{width:19px;height:19px;flex:none;display:block;}\n.sq-teamnews__kicker{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--sq-accent-2);}\n.sq-teamnews__pill{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:10.5px;\n  letter-spacing:.12em;text-transform:uppercase;font-weight:800;padding:5px 11px;border-radius:999px;white-space:nowrap;}\n.sq-teamnews__pill-dot{width:6px;height:6px;border-radius:50%;flex:none;}\n.sq-teamnews--predicted .sq-teamnews__pill{background:rgba(240,180,41,.16);color:var(--sq-gold);border:1px solid rgba(240,180,41,.5);}\n.sq-teamnews--predicted .sq-teamnews__pill-dot{background:var(--sq-gold);}\n.sq-teamnews--confirmed .sq-teamnews__pill{background:var(--sq-accent);color:var(--sq-headB);border:1px solid var(--sq-accent);}\n.sq-teamnews--confirmed .sq-teamnews__pill-dot{background:var(--sq-headB);}\n.sq-teamnews__h2{position:relative;margin:0;font-size:18px;line-height:1.15;font-weight:800;letter-spacing:-.015em;color:#fff;text-wrap:balance;}\n\/* \u2500\u2500 caveat \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.sq-teamnews__caveat{display:flex;gap:8px;align-items:flex-start;margin:0;padding:11px 18px;\n  background:var(--sq-ground);border-bottom:1px solid var(--sq-line);\n  font-size:12px;line-height:1.45;color:var(--sq-muted);font-style:italic;}\n.sq-teamnews__caveat svg{flex:none;margin-top:1px;opacity:.8;}\n\/* \u2500\u2500 teams grid \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.sq-teamnews__teams{display:grid;grid-template-columns:1fr;gap:16px;padding:16px;}\n.sq-teamnews__team{min-width:0;}\n.sq-teamnews__teamhead{display:flex;align-items:center;gap:10px;margin-bottom:10px;}\n.sq-teamnews__crest{width:32px;height:32px;flex:none;border-radius:7px;overflow:hidden;object-fit:cover;\n  background:var(--sq-ground);box-shadow:inset 0 0 0 1px var(--sq-line);}\n.sq-teamnews__name{flex:1;margin:0;font-size:16px;font-weight:800;letter-spacing:-.01em;}\n.sq-teamnews__formation{flex:none;font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--sq-primary);\n  background:rgba(27,94,59,.09);border:1px solid rgba(27,94,59,.2);border-radius:7px;padding:4px 9px;}\n\/* \u2500\u2500 the pitch \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.sq-teamnews__pitch{position:relative;overflow:hidden;border-radius:11px;min-height:330px;\n  background:repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0 12.5%,rgba(0,0,0,.05) 12.5% 25%),\n    linear-gradient(180deg,var(--sq-turfA) 0%,var(--sq-turfB) 100%);\n  box-shadow:inset 0 0 0 2px rgba(255,255,255,.14),0 6px 18px -12px rgba(14,36,25,.5);}\n.sq-teamnews__pk{position:absolute;pointer-events:none;}\n.sq-teamnews__pk--half{left:7%;right:7%;top:50%;border-top:2px solid rgba(255,255,255,.18);}\n.sq-teamnews__pk--circle{left:50%;top:50%;width:86px;height:86px;transform:translate(-50%,-50%);border:2px solid rgba(255,255,255,.18);border-radius:50%;}\n.sq-teamnews__pk--spot{left:50%;top:50%;width:5px;height:5px;transform:translate(-50%,-50%);background:rgba(255,255,255,.3);border-radius:50%;}\n.sq-teamnews__pk--boxb{left:24%;right:24%;bottom:0;height:19%;border:2px solid rgba(255,255,255,.18);border-bottom:none;}\n.sq-teamnews__pk--boxt{left:24%;right:24%;top:0;height:19%;border:2px solid rgba(255,255,255,.18);border-top:none;}\n.sq-teamnews__pk--goalb{left:41%;right:41%;bottom:-2px;height:7px;border:2px solid rgba(255,255,255,.28);border-bottom:none;background:rgba(255,255,255,.06);}\n.sq-teamnews__pk--goalt{left:41%;right:41%;top:-2px;height:7px;border:2px solid rgba(255,255,255,.28);border-top:none;background:rgba(255,255,255,.06);}\n\/* bands: GK at the bottom (goal), FWD at the top (attacking) *\/\n.sq-teamnews__bands{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column-reverse;padding:12px 4px;}\n.sq-teamnews__band{flex:1;display:flex;align-items:center;justify-content:space-evenly;gap:2px;}\n.sq-teamnews__node{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1;min-width:0;max-width:98px;}\n.sq-teamnews__jersey{width:27px;height:24px;flex:none;color:#ffffff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));}\n.sq-teamnews__band[data-role=\"GK\"] .sq-teamnews__jersey{color:var(--sq-gold);}\n.sq-teamnews__pname{font-size:10.5px;font-weight:700;line-height:1.12;color:#fff;text-align:center;\n  letter-spacing:-.01em;max-width:100%;overflow-wrap:break-word;\n  text-shadow:0 1px 3px rgba(0,0,0,.75),0 0 2px rgba(0,0,0,.55);}\n.sq-teamnews__mark{color:var(--sq-gold);font-weight:800;}\nsup.sq-teamnews__mark{font-size:.72em;margin-left:1px;text-shadow:none;}\n\/* \u2500\u2500 cold-start placeholder body \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.sq-teamnews__placeholder{margin:0;padding:22px 18px;background:var(--sq-ground);\n  font-size:13.5px;line-height:1.5;color:var(--sq-muted);text-align:center;}\n\/* \u2500\u2500 footnotes (auto-hides when there are none) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.sq-teamnews__notes{list-style:none;margin:0;padding:14px 16px 2px;display:flex;flex-direction:column;gap:5px;}\n.sq-teamnews__notes:empty{display:none;}\n.sq-teamnews__notes li{font-size:11.5px;line-height:1.4;color:var(--sq-muted);}\n.sq-teamnews__notes strong{color:var(--sq-ink);font-weight:700;}\n.sq-teamnews__notes .sq-teamnews__mark{text-shadow:none;}\n\/* \u2500\u2500 footer \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.sq-teamnews__foot{display:flex;align-items:center;gap:7px;margin-top:14px;padding:10px 16px;\n  border-top:1px solid var(--sq-line);background:var(--sq-ground);\n  font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--sq-muted);}\n\/* \u2500\u2500 narrow phones: stop the header pill + 4-across bands clipping \u2500\u2500 *\/\n@media(max-width:559px){\n  .sq-teamnews__head{padding:14px 14px 13px;}\n  .sq-teamnews__kicker{font-size:10px;letter-spacing:.12em;}\n  .sq-teamnews__pill{font-size:9.5px;padding:4px 9px;letter-spacing:.08em;}\n  .sq-teamnews__h2{font-size:16.5px;}\n  .sq-teamnews__teams{padding:12px;gap:12px;}\n  .sq-teamnews__bands{padding:10px 2px;}\n  .sq-teamnews__band{gap:1px;}\n  .sq-teamnews__node{max-width:none;}\n  .sq-teamnews__pname{font-size:9px;line-height:1.05;}\n  .sq-teamnews__jersey{width:23px;height:20px;}\n}\n\/* \u2500\u2500 desktop: pitches side-by-side \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n@media(min-width:560px){\n  .sq-teamnews__teams{grid-template-columns:1fr 1fr;}\n  .sq-teamnews__head{padding:18px 20px 17px;}\n  .sq-teamnews__h2{font-size:21px;}\n  .sq-teamnews__name{font-size:17px;}\n  .sq-teamnews__pitch{min-height:372px;}\n  .sq-teamnews__pname{font-size:11px;}\n}\n<\/style>\n\n  <!-- \u2500\u2500 HEADER \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n  <div class=\"sq-teamnews__head\">\n    <div class=\"sq-teamnews__brandrow\">\n      <svg class=\"sq-teamnews__chev\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n        <path d=\"M4 5l7 7-7 7\" stroke=\"var(--sq-accent-2)\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n        <path d=\"M13 5l7 7-7 7\" stroke=\"var(--sq-accent)\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n      <\/svg>\n      <span class=\"sq-teamnews__kicker\">Team News<\/span>\n      <span class=\"sq-teamnews__pill\"><span class=\"sq-teamnews__pill-dot\"><\/span>Predicted<\/span>\n    <\/div>\n    <h2 class=\"sq-teamnews__h2\">Tottenham vs Crystal Palace Predicted Lineups<\/h2>\n  <\/div>\n\n  <!-- \u2500\u2500 CAVEAT (predicted only) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n  \n  <p class=\"sq-teamnews__caveat\">\n    <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n      <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"2\"\/>\n      <path d=\"M12 11.2v5M12 7.4v.4\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\n    <\/svg>\n    <span>Predicted XI \u2014 updated for the latest team news.<\/span>\n  <\/p>\n  \n\n  \n  <!-- \u2500\u2500 TWO TEAMS, each on a pitch \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n  <div class=\"sq-teamnews__teams\">\n    \n    <section class=\"sq-teamnews__team\">\n      <div class=\"sq-teamnews__teamhead\">\n        \n        <h3 class=\"sq-teamnews__name\">Tottenham<\/h3>\n        <span class=\"sq-teamnews__formation\">4-2-3-1<\/span>\n      <\/div>\n      <div class=\"sq-teamnews__pitch\">\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--boxt\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--goalt\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--half\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--circle\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--spot\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--boxb\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--goalb\"><\/div>\n        <!-- bands render GK\u2192FWD; column-reverse puts GK at the goal end -->\n        <div class=\"sq-teamnews__bands\">\n          \n          <div class=\"sq-teamnews__band\" data-role=\"GK\">\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">A. Kinsky<\/span>\n            <\/div>\n            \n          <\/div>\n          \n          <div class=\"sq-teamnews__band\" data-role=\"DEF\">\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">A. Robertson<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">M. van de Ven<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">J. van Hecke<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">A. Gray<\/span>\n            <\/div>\n            \n          <\/div>\n          \n          <div class=\"sq-teamnews__band\" data-role=\"DM\">\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">S. Tonali<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">Mateus Fernandes<\/span>\n            <\/div>\n            \n          <\/div>\n          \n          <div class=\"sq-teamnews__band\" data-role=\"AM\">\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">M. Tel<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">J. Maddison<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">M. Kudus<\/span>\n            <\/div>\n            \n          <\/div>\n          \n          <div class=\"sq-teamnews__band\" data-role=\"FWD\">\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">Omar Marmoush<\/span>\n            <\/div>\n            \n          <\/div>\n          \n        <\/div>\n      <\/div>\n    <\/section>\n    \n    <section class=\"sq-teamnews__team\">\n      <div class=\"sq-teamnews__teamhead\">\n        \n        <h3 class=\"sq-teamnews__name\">Crystal Palace<\/h3>\n        <span class=\"sq-teamnews__formation\">3-4-2-1<\/span>\n      <\/div>\n      <div class=\"sq-teamnews__pitch\">\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--boxt\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--goalt\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--half\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--circle\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--spot\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--boxb\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--goalb\"><\/div>\n        <!-- bands render GK\u2192FWD; column-reverse puts GK at the goal end -->\n        <div class=\"sq-teamnews__bands\">\n          \n          <div class=\"sq-teamnews__band\" data-role=\"GK\">\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">W. Benitez<\/span>\n            <\/div>\n            \n          <\/div>\n          \n          <div class=\"sq-teamnews__band\" data-role=\"DEF\">\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">H. Ahanor<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">C. Richards<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">J. Canvot<\/span>\n            <\/div>\n            \n          <\/div>\n          \n          <div class=\"sq-teamnews__band\" data-role=\"MID\">\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">T. Mitchell<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">Q. Timber<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">A. Wharton<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">A. Khalaili<\/span>\n            <\/div>\n            \n          <\/div>\n          \n          <div class=\"sq-teamnews__band\" data-role=\"AM\">\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">Yeremy Pino<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">D. Kamada<\/span>\n            <\/div>\n            \n          <\/div>\n          \n          <div class=\"sq-teamnews__band\" data-role=\"FWD\">\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">J. Strand Larsen<\/span>\n            <\/div>\n            \n          <\/div>\n          \n        <\/div>\n      <\/div>\n    <\/section>\n    \n  <\/div>\n\n  <!-- \u2500\u2500 FOOTNOTES: one line per player with a note (any team) \u2500\u2500 -->\n  <ul class=\"sq-teamnews__notes\">\n    \n  <\/ul>\n  \n\n  <div class=\"sq-teamnews__foot\">\n    <svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n      <path d=\"M5 6l6 6-6 6\" stroke=\"var(--sq-primary)\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n      <path d=\"M13 6l6 6-6 6\" stroke=\"var(--sq-primary)\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n    <\/svg>\n    <span>Squawka \u00b7 Team News<\/span>\n  <\/div>\n\n<\/div>\n\n<!-- SQ-LINEUPS-END -->\n\n<h2>Potential Match-Winners<\/h2>\n\n<ul>\n<li><strong>Omar Marmoush (Tottenham):<\/strong> The striker has fired 12 shots and hit the target 4 times this season, adding 1 goal and 4 chances created in 517 minutes for Tottenham.<\/li>\n<li><strong>Mathys Tel (Tottenham):<\/strong> Tel has created 5 chances and scored 1 goal in just 351 minutes, giving Tottenham a spark in behind the striker.<\/li>\n<li><strong>Tyrick Mitchell (Crystal Palace):<\/strong> Mitchell leads Crystal Palace&#8217;s scoring with 2 goals from 6 shots, also setting up team-mates with 5 chances created across 601 minutes.<\/li>\n<\/ul>\n\n<h2>Recent Form<\/h2>\n\n<h3>Tottenham: D L D W W<\/h3>\n<ul>\n<li>2026-10-24: Chelsea 0-2 Tottenham (W, away)<\/li>\n<li>2026-10-19: Tottenham 3-1 Coventry City (W, home)<\/li>\n<li>2026-10-10: Manchester United 1-1 Tottenham (D, away)<\/li>\n<li>2026-09-19: Tottenham 2-3 Aston Villa (L, home)<\/li>\n<li>2026-09-12: Tottenham 0-0 Everton (D, home)<\/li>\n<\/ul>\n<p>Tottenham&#8217;s last 5 results read D L D W W, finishing with back-to-back wins \u2014 a 3-1 win over Coventry City followed by a 2-0 victory at Chelsea.<\/p>\n\n<h3>Crystal Palace: W L D W L<\/h3>\n<ul>\n<li>2026-10-18: Brighton 5-0 Crystal Palace (L, away)<\/li>\n<li>2026-10-11: Crystal Palace 3-1 Nottingham Forest (W, home)<\/li>\n<li>2026-09-20: Leeds 0-0 Crystal Palace (D, away)<\/li>\n<li>2026-09-12: Crystal Palace 2-3 Ipswich Town (L, home)<\/li>\n<li>2026-09-05: Fulham 2-3 Crystal Palace (W, away)<\/li>\n<\/ul>\n<p>Crystal Palace&#8217;s last 5 results read W L D W L, including a 5-0 defeat at Brighton and a 3-1 win at home to Nottingham Forest.<\/p>\n\n<h2>Tottenham vs Crystal Palace Prediction<\/h2>\n\n<p>Signal&#8217;s model lands on a 1-0 win for Tottenham, a scoreline that fits both teams&#8217; profiles \u2014 Spurs have 9 points from 8 games against Palace&#8217;s 7 points from 7 and -8 goal difference. Expect a tense, low-event match with few clear sights of goal, Omar Marmoush or Mathys Tel the most likely to provide the moment of quality, and Tottenham the clear favourites to see it through by a single goal.<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>Predicted lineups and team news for Tottenham vs Crystal Palace, plus our prediction, odds and best bets. Spurs are the home side. Kick-off 1:30 PM ET.<\/p>\n","protected":false},"author":393,"featured_media":17812,"parent":0,"menu_order":0,"template":"","meta":{"_acf_changed":false,"_yoast_wpseo_focuskw":"tottenham vs crystal palace","_yoast_wpseo_title":"Tottenham vs Crystal Palace: EPL Lineups & Prediction","_yoast_wpseo_metadesc":"Predicted lineups and team news for Tottenham vs Crystal Palace, plus our prediction, odds and best bets. Spurs are the home side. Kick-off 1:30 PM ET.","footnotes":""},"tags":[],"news-category":[326],"class_list":["post-17811","news","type-news","status-publish","has-post-thumbnail","hentry","news-category-premier-league"],"acf":{"external_featured_image_url":"","hide_featured_image_pattern":true},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.0 (Yoast SEO v28.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Tottenham vs Crystal Palace: EPL Lineups &amp; Prediction<\/title>\n<meta name=\"description\" content=\"Predicted lineups and team news for Tottenham vs Crystal Palace, plus our prediction, odds and best bets. Spurs are the home side. Kick-off 1:30 PM ET.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.squawka.com\/ca\/news\/premier-league\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league\/\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tottenham vs Crystal Palace: Predictions, Picks, Odds &amp; Lineups\" \/>\n<meta property=\"og:description\" content=\"Predicted lineups and team news for Tottenham vs Crystal Palace, plus our prediction, odds and best bets. Spurs are the home side. Kick-off 1:30 PM ET.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.squawka.com\/ca\/news\/premier-league\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league\/\" \/>\n<meta property=\"og:site_name\" content=\"Squawka | CA\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SquawkaFootballNews\/\" \/>\n<meta property=\"og:image\" content=\"https:\/\/media.squawka.com\/images\/sites\/15\/2026\/10\/24234513\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league-banner.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1167\" \/>\n\t<meta property=\"og:image:height\" content=\"590\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@Squawka\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/news\\\/premier-league\\\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league\\\/\",\"url\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/news\\\/premier-league\\\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league\\\/\",\"name\":\"Tottenham vs Crystal Palace: EPL Lineups & Prediction\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/news\\\/premier-league\\\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/news\\\/premier-league\\\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/media.squawka.com\\\/images\\\/sites\\\/15\\\/2026\\\/10\\\/24234513\\\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league-banner.jpg\",\"datePublished\":\"2026-10-25T03:45:16+00:00\",\"description\":\"Predicted lineups and team news for Tottenham vs Crystal Palace, plus our prediction, odds and best bets. Spurs are the home side. Kick-off 1:30 PM ET.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/news\\\/premier-league\\\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league\\\/#breadcrumb\"},\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.squawka.com\\\/ca\\\/news\\\/premier-league\\\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/news\\\/premier-league\\\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league\\\/#primaryimage\",\"url\":\"https:\\\/\\\/media.squawka.com\\\/images\\\/sites\\\/15\\\/2026\\\/10\\\/24234513\\\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league-banner.jpg\",\"contentUrl\":\"https:\\\/\\\/media.squawka.com\\\/images\\\/sites\\\/15\\\/2026\\\/10\\\/24234513\\\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league-banner.jpg\",\"width\":1167,\"height\":590,\"caption\":\"Tottenham vs Crystal Palace predicted formations\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/news\\\/premier-league\\\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"News\",\"item\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/news\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Tottenham vs Crystal Palace: Predictions, Picks, Odds &#038; Lineups\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/#website\",\"url\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/\",\"name\":\"Squawka | CA\",\"description\":\"Soccer Stats, Predictions &amp; Betting\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-CA\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/#organization\",\"name\":\"Squawka | CA\",\"url\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/media.squawka.com\\\/images\\\/sites\\\/15\\\/2026\\\/06\\\/10210812\\\/Squawka-Logo.jpg\",\"contentUrl\":\"https:\\\/\\\/media.squawka.com\\\/images\\\/sites\\\/15\\\/2026\\\/06\\\/10210812\\\/Squawka-Logo.jpg\",\"width\":1000,\"height\":1000,\"caption\":\"Squawka | CA\"},\"image\":{\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/SquawkaFootballNews\\\/\",\"https:\\\/\\\/x.com\\\/Squawka\",\"https:\\\/\\\/www.instagram.com\\\/squawkafootball\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Tottenham vs Crystal Palace: EPL Lineups & Prediction","description":"Predicted lineups and team news for Tottenham vs Crystal Palace, plus our prediction, odds and best bets. Spurs are the home side. Kick-off 1:30 PM ET.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.squawka.com\/ca\/news\/premier-league\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league\/","og_type":"article","og_title":"Tottenham vs Crystal Palace: Predictions, Picks, Odds & Lineups","og_description":"Predicted lineups and team news for Tottenham vs Crystal Palace, plus our prediction, odds and best bets. Spurs are the home side. Kick-off 1:30 PM ET.","og_url":"https:\/\/www.squawka.com\/ca\/news\/premier-league\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league\/","og_site_name":"Squawka | CA","article_publisher":"https:\/\/www.facebook.com\/SquawkaFootballNews\/","og_image":[{"width":1167,"height":590,"url":"https:\/\/media.squawka.com\/images\/sites\/15\/2026\/10\/24234513\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league-banner.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_site":"@Squawka","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.squawka.com\/ca\/news\/premier-league\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league\/","url":"https:\/\/www.squawka.com\/ca\/news\/premier-league\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league\/","name":"Tottenham vs Crystal Palace: EPL Lineups & Prediction","isPartOf":{"@id":"https:\/\/www.squawka.com\/ca\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.squawka.com\/ca\/news\/premier-league\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league\/#primaryimage"},"image":{"@id":"https:\/\/www.squawka.com\/ca\/news\/premier-league\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league\/#primaryimage"},"thumbnailUrl":"https:\/\/media.squawka.com\/images\/sites\/15\/2026\/10\/24234513\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league-banner.jpg","datePublished":"2026-10-25T03:45:16+00:00","description":"Predicted lineups and team news for Tottenham vs Crystal Palace, plus our prediction, odds and best bets. Spurs are the home side. Kick-off 1:30 PM ET.","breadcrumb":{"@id":"https:\/\/www.squawka.com\/ca\/news\/premier-league\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league\/#breadcrumb"},"inLanguage":"en-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.squawka.com\/ca\/news\/premier-league\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league\/"]}]},{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/www.squawka.com\/ca\/news\/premier-league\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league\/#primaryimage","url":"https:\/\/media.squawka.com\/images\/sites\/15\/2026\/10\/24234513\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league-banner.jpg","contentUrl":"https:\/\/media.squawka.com\/images\/sites\/15\/2026\/10\/24234513\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league-banner.jpg","width":1167,"height":590,"caption":"Tottenham vs Crystal Palace predicted formations"},{"@type":"BreadcrumbList","@id":"https:\/\/www.squawka.com\/ca\/news\/premier-league\/match-preview-tottenham-vs-crystal-palace-31-10-26-premier-league\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.squawka.com\/ca\/"},{"@type":"ListItem","position":2,"name":"News","item":"https:\/\/www.squawka.com\/ca\/news\/"},{"@type":"ListItem","position":3,"name":"Tottenham vs Crystal Palace: Predictions, Picks, Odds &#038; Lineups"}]},{"@type":"WebSite","@id":"https:\/\/www.squawka.com\/ca\/#website","url":"https:\/\/www.squawka.com\/ca\/","name":"Squawka | CA","description":"Soccer Stats, Predictions &amp; Betting","publisher":{"@id":"https:\/\/www.squawka.com\/ca\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.squawka.com\/ca\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-CA"},{"@type":"Organization","@id":"https:\/\/www.squawka.com\/ca\/#organization","name":"Squawka | CA","url":"https:\/\/www.squawka.com\/ca\/","logo":{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/www.squawka.com\/ca\/#\/schema\/logo\/image\/","url":"https:\/\/media.squawka.com\/images\/sites\/15\/2026\/06\/10210812\/Squawka-Logo.jpg","contentUrl":"https:\/\/media.squawka.com\/images\/sites\/15\/2026\/06\/10210812\/Squawka-Logo.jpg","width":1000,"height":1000,"caption":"Squawka | CA"},"image":{"@id":"https:\/\/www.squawka.com\/ca\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SquawkaFootballNews\/","https:\/\/x.com\/Squawka","https:\/\/www.instagram.com\/squawkafootball\/"]}]}},"yoast_title":"Tottenham vs Crystal Palace: EPL Lineups & Prediction","yoast_description":"Predicted lineups and team news for Tottenham vs Crystal Palace, plus our prediction, odds and best bets. Spurs are the home side. Kick-off 1:30 PM ET.","yoast_keyword":"tottenham vs crystal palace","_links":{"self":[{"href":"https:\/\/www.squawka.com\/ca\/wp-json\/wp\/v2\/news\/17811","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.squawka.com\/ca\/wp-json\/wp\/v2\/news"}],"about":[{"href":"https:\/\/www.squawka.com\/ca\/wp-json\/wp\/v2\/types\/news"}],"author":[{"embeddable":true,"href":"https:\/\/www.squawka.com\/ca\/wp-json\/wp\/v2\/users\/393"}],"version-history":[{"count":1,"href":"https:\/\/www.squawka.com\/ca\/wp-json\/wp\/v2\/news\/17811\/revisions"}],"predecessor-version":[{"id":17813,"href":"https:\/\/www.squawka.com\/ca\/wp-json\/wp\/v2\/news\/17811\/revisions\/17813"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.squawka.com\/ca\/wp-json\/wp\/v2\/media\/17812"}],"wp:attachment":[{"href":"https:\/\/www.squawka.com\/ca\/wp-json\/wp\/v2\/media?parent=17811"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.squawka.com\/ca\/wp-json\/wp\/v2\/tags?post=17811"},{"taxonomy":"news-category","embeddable":true,"href":"https:\/\/www.squawka.com\/ca\/wp-json\/wp\/v2\/news-category?post=17811"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}