We’re one week away from the kickoff of the most valuable game in football, the EFL Championship playoff final. The 2023 fixture — which decides the third team to get promoted to the Premier League, English football’s top flight — will see Coventry City take on Luton Town.
Both the Hatters and Sky Blues have enjoyed phenomenal seasons in England’s second division, the EFL Championship. They overcame traditional powerhouses Sunderland and Middlesbrough to reach this stage. While those victories were cause for celebration, the job isn’t finished yet.
Which club do the oddsmakers see being promoted to the Premier League for the 2023/24 campaign?
{ if (response.ok) { return response.json(); } else { throw new Error(“Invalid Request”); } }) .then((data) => { if (data.started === false) { bettingOddsSection.style.display = “block”; let svgContainer = document.getElementById(“ceasars-sportsbook-svg”); svgContainer.innerHTML = $(window).width() market.name === “Money Line (Action @ Action)” || market.name.startsWith(“Run Line (“) || market.name === “Run Line” || market.name === “Total Runs” || market.name.startsWith(“Total Runs (“) ); } else if (league === “NHL”) { marketsArrayFiltered = data.markets.filter( (market) => market.name === “Money Line” || market.name === “Total Match Goals” || market.name === “Puck Line Handicap” ); } else { marketsArrayFiltered = data.markets.filter( (market) => market.name === “Spread” || market.name === “Money Line” || market.name === “Total Points” ); } data[“markets”] = marketsArrayFiltered; let tableHeadersData = [ formatDate(data.startTime), “Spread”, “Money Line”, “O/U”, ]; let tableHeaderContainer = document.getElementById( “betting-odds__table-heading-container” ); tableHeadersData.map((tableHeader, i) => { let tableCellHeader = document.createElement(“th”); tableCellHeader.setAttribute( “class”, `betting-odds__tableCell-header betting-odds__tableCell-header-${i}` ); tableCellHeader.innerHTML = tableHeader; tableHeaderContainer.appendChild(tableCellHeader); }); let bodyContainer = document.getElementById( “betting-odds__container-body” ); /****** Team 1 ********************/ let team1 = data.markets.map((market) => { let line; if (league === “MLB”) { if (market.name === “Run Line”) { line = market.line * -1; } else { line = market.line; } } else { if (market.name === “Spread”) { line = market.line * -1; } else { line = market.line; } } let filteredSelections = market.selections.find( (selection) => selection.name === data.teamsInfo[0].teamName || selection.name === “Over” ); let title = market.name; // Spread let a = filteredSelections.price.a; let selectionName = filteredSelections.name; let teamNameAbrv = data.teamsInfo[0].teamNameAbrv; return { [market.name]: { title, selectionName, line, a, teamNameAbrv }, }; }); let newTeam1 = [ { info: { name: formatDate(data.startTime), title: data.teamsInfo[0].teamName, logo: data.teamsInfo[0].teamLogo, abrv: data.teamsInfo[0].teamNameAbrv, }, }, …team1, ]; let object1 = Object.assign({}, …newTeam1); console.log(“TEAM 1”); console.log(object1); console.log(“TEAM 1”); /****** END OF Team 1 ********************/ let team2 = data.markets.map((market) => { let title = market.name; // Spread let line = market.line; let filteredSelections = market.selections.find( (selection) => selection.name === data.teamsInfo[1].teamName || selection.name === “Under” ); let a = filteredSelections.price.a; let selectionName = filteredSelections.name; let teamNameAbrv = data.teamsInfo[1].teamNameAbrv; return { [market.name]: { title, selectionName, line, a, teamNameAbrv }, }; }); let newTeam2 = [ { info: { name: data.competitionName, title: data.teamsInfo[1].teamName, logo: data.teamsInfo[1].teamLogo, abrv: data.teamsInfo[1].teamNameAbrv, }, }, …team2, ]; let object2 = Object.assign({}, …newTeam2); console.log(“TEAM 2”); console.log(object2); console.log(“TEAM 2”); let tBody = document.getElementById(“betting-odds__table-body”); createRow(object1); createRow(object2); /********************* FUNCTIONS ************************/ function createRow(object) { let tRow = document.createElement(“tr”); tBody.appendChild(tRow); let tCellLeague = document.createElement(“td”); tCellLeague.setAttribute( “class”, “betting-odds__tableCell-container-info” ); tRow.appendChild(tCellLeague); let leagueInfoContainer = document.createElement(“div”); leagueInfoContainer.setAttribute( “class”, “betting-odds__container-table-info-container” ); tCellLeague.appendChild(leagueInfoContainer); let leagueImageContainer = document.createElement(“div”); leagueImageContainer.setAttribute( “class”, “betting-odds__container-table-image” ); leagueInfoContainer.appendChild(leagueImageContainer); let leagueImage = document.createElement(“img”); leagueImage.setAttribute(“class”, “betting-odds__table-image”); leagueImage.setAttribute(“src”, object?.info.logo); console.log(object?.info.logo); leagueImageContainer.appendChild(leagueImage); let leagueTeamNameContainer = document.createElement(“div”); leagueTeamNameContainer.setAttribute( “class”, “betting-odds__container-table-teamName” ); leagueInfoContainer.appendChild(leagueTeamNameContainer); let leagueTeamName = document.createElement(“p”); leagueTeamName.setAttribute(“class”, “betting-odds__table-teamName”); console.log(object.info.title); if ($(window).width() <= 810) { leagueTeamName.innerHTML = object?.info.abrv; } else { leagueTeamName.innerHTML = object?.info.title; } leagueTeamNameContainer.appendChild(leagueTeamName); /************** SPREAD *************/ let tCellSpread = document.createElement("td"); tCellSpread.setAttribute("class", "betting-odds__table-Cell-body"); let spreadDiv = document.createElement("div"); spreadDiv.setAttribute("class", "betting-odds__tableCell-container"); tCellSpread.appendChild(spreadDiv); tRow.appendChild(tCellSpread); let Spread; let moneyLine; let totalPoints; if (league === "MLB") { moneyLine = object["Money Line (Action @ Action)"]; Spread = object["Run Line"]; totalPoints = object["Total Runs"]; } else { moneyLine = object["Money Line"]; Spread = object.Spread; totalPoints = object["Total Points"]; } console.log(moneyLine, Spread.teamNameAbrv); // spread Line let spreadAbrv = document.createElement("p"); spreadAbrv.setAttribute( "class", "betting-odds__p-bold betting-odds__p-abrv" ); spreadAbrv.innerHTML = Spread.teamNameAbrv; spreadDiv.appendChild(spreadAbrv); let spreadLine = document.createElement("p"); spreadLine.setAttribute("class", "betting-odds__p-bold"); spreadLine.innerHTML = signChecker(Spread.line); spreadDiv.appendChild(spreadLine); // a ? let spreadA = document.createElement("p"); spreadA.innerHTML = signChecker(Spread.a); spreadDiv.appendChild(spreadA); /************** END OF SPREAD *************/ /************** MONEY LINE *************/ let tCellMoneyLine = document.createElement("td"); tCellMoneyLine.setAttribute("class", "betting-odds__table-Cell-body"); let moneyLineDiv = document.createElement("div"); moneyLineDiv.setAttribute( "class", "betting-odds__tableCell-container" ); tCellMoneyLine.appendChild(moneyLineDiv); tRow.appendChild(tCellMoneyLine); if (moneyLine) { let moneyLineSelectionName = document.createElement("p"); moneyLineSelectionName.setAttribute( "class", "betting-odds__p-bold betting-odds__p-abrv" ); moneyLineSelectionName.innerHTML = moneyLine.teamNameAbrv; moneyLineDiv.appendChild(moneyLineSelectionName); // money line a ? let moneyLineA = document.createElement("p"); moneyLineA.setAttribute("class", "betting-odds__p-bold"); moneyLineA.innerHTML = signChecker(moneyLine.a); moneyLineDiv.appendChild(moneyLineA); } else { let moneyLineSelectionName = document.createElement("p"); moneyLineSelectionName.innerHTML = ""; moneyLineDiv.appendChild(moneyLineSelectionName); } // //selection name /************** END OF MONEY LINE *************/ /************** TOTAL POINTS *************/ let tCellTotalPoints = document.createElement("td"); tCellTotalPoints.setAttribute( "class", "betting-odds__table-Cell-body" ); let totalPointsDiv = document.createElement("div"); totalPointsDiv.setAttribute( "class", "betting-odds__tableCell-container" ); tCellTotalPoints.appendChild(totalPointsDiv); tRow.appendChild(tCellTotalPoints); //m let totalPointsOUDiv = document.createElement("div"); totalPointsOUDiv.setAttribute("style", "display: flex"); totalPointsDiv.appendChild(totalPointsOUDiv); if (totalPoints) { let totalPointsSelectionName = document.createElement("p"); totalPointsSelectionName.setAttribute( "class", "betting-odds__p-bold" ); if ($(window).width() console.warn(err)); } function formatDate(dateUTC) { var date = new Date(dateUTC); if ($(window).width() 0 ? `+${value}` : value; } function checkUrlInclusion(word, secondParameter) { let secondParameterChecker = secondParameter !== undefined ? secondParameter : word; // console.log(secondParameterChecker, " item.trim()); let indexOfSecondParameterChecker = keywordArray.indexOf( secondParameterChecker ); // console.log(valueOfHuman); if ( keywordKey.includes("NFL-") || keywordKey.includes("NCAAF-") || keywordKey.includes("NBA-") || keywordKey.includes("NHL") ) { let foundKeys = keywordArray .find( (item) => item.includes(“NFL-“) || item.includes(“NCAAF-“) || item.includes(“NBA-“) || item.includes(“NHL”) ) .split(“-“); league = foundKeys[0]; team = foundKeys[1]; } else if (indexOfSecondParameterChecker > -1) { return true; // return keywordArray[indexOfSecondParameterChecker]; // var regExp = new RegExp(secondParameterChecker, “gi”); // let keywordValue = // keywordKey.match(regExp) === null // ? undefined // : keywordKey.match(regExp)[0].toLowerCase(); // return keywordValue === secondParameterChecker; } else { // console.log(word, “<=== word"); return RegExp("\b" + word + "\b").test(windowStr); } } function svg(svgWidth) { return ` `; } ]]>
Luton is the slight favorite with +140 odds to win in normal time, according to Caesars Sportsbook, official odds partner of Bet.NOLA.com. Coventry is +210 to win within 90 minutes and the result to be a draw after the same period has odds of +195.
The Hatters are favored to win the match outright at -137 odds to the Sky Blues’ +105. As you can see, similar to their positions in the league, there isn’t much to separate the two.
Luton has been the more consistent side throughout the season, earning 80 points from 46 games, good enough for a third-place finish in the table. Coventry finished just two spots behind the Hatters in fifth on 70 points with the same number of matches played.
Both sides also have some of the most threatening attacks in the league, led by goalscorers Viktor Gyökeres (COV) and Carlton Morris (LUT). Gyökeres and Morris were both in the top three of the EFL Championship’s Golden Boot race with 21 and 20 goals respectively.
Individual goalscorer odds have not yet been released at Caesars Sportsbook, but when they are, there’s a good chance these two No. 9s will be atop the odds boards. There isn’t much separating these two sides, so expect one of these strikers to play a big part in the result.
The EFL Championship playoff final will kick off from Wembley Stadium at 10:45 a.m. CT on Saturday, May 27. The game will be broadcast on ESPN+ in the United States.
Gambling Problem? Call 1-877-770-STOP. Or visit this website.