91³Ô¹ÏÍø

Watch CBS News

How to watch Saturday's Game 1 in the Pittsburgh Penguins vs. Philadelphia Flyers NHL playoff schedule

The Stanley Cup Playoffs are underway in the NHL, and the Pittsburgh Penguins are hosting the Philadelphia Flyers for a Game 1 postseason matchup at PPG Paints Arena. Here's how you can watch the game.

Pittsburgh earned the No. 2 spot in the Metropolitan Division this season and has home ice advantage in the playoff series against Philadelphia, which earned the No. 3 spot.

The Penguins are making their first playoff appearance since 2022, while Philadelphia returns to the postseason after five seasons of missing the playoffs. 

The Flyers and Penguins last met in the playoffs in 2018, with Pittsburgh winning the series 4-2. 

The winner of the series will advance to the second round and face either the Carolina Hurricanes or the Ottawa Senators.

Puck drop in the "Battle of Pennsylvania" is set for 8 p.m. on Saturday at PPG Paints Arena in Pittsburgh.

Where can you watch the Penguins vs. Flyers playoff game? 

Tonight's Game 1 for the best-of-seven playoff contest between the Penguins and the Flyers will air on ESPN. You can stream the game via ESPN's website .

In the Pittsburgh market, the game will .  will carry the game in the Philadelphia market.

Who won the head-to-head games between Pittsburgh and Philadelphia this season?

The Penguins and the Flyers played one another four times in the 2025-26 regular season, with each team winning two games.

How many times have the Penguins and Flyers met in the postseason?

This year's playoff matchup between Pittsburgh and Philadelphia will be the eighth time in history that the cross-state rivals meet in the postseason.

Philadelphia has won four of its seven playoff series against Pittsburgh, winning the matchups in 1989, 1997, 2000, and 2012.

Pittsburgh won playoff series against Philadelphia in 2008, 2009, and 2018. 

What's the rest of the Penguins vs. Flyers playoff schedule?

The full playoff schedule between Pittsburgh and Philadelphia was released early Friday morning.

  • Game 2 - Monday, April 20 - Flyers at Penguins, 7 p.m.
  • Game 3 - Wednesday, April 22 - Penguins at Flyers - 7 p.m.
  • Game 4 - Saturday, April 25 - Penguins at Flyers - 8 p.m.
  • Game 5, if necessary - Monday, April 27 - Flyers at Penguins, time to be determined
  • Game 6, if necessary - Wednesday, April 29 - Penguins at Flyers, time to be determined
  • Game 7, if necessary - Saturday, May 2 - Flyers at Penguins, time to be determined
View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=296763317a51cab90faa73f1bb146d5c'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });