Denver’s passing game found the gunpowder Sunday.
For the first 12 games, the fireworks had largely been duds. The Broncos had only two passing touchdowns longer than 20 yards. They ranked in the league’s bottom seven in yards per play and in the same spot for total passing yards and net yards per passing attempt.
That made Sunday’s explosion all the more surprising. Here’s a breakdown of Denver’s four offensive plays that went for 30 or more yards in a 32-27 victory over Carolina. And this is just the offensive plays and doesn’t include the 83-yard punt return for a touchdown by Diontae Spencer in the first quarter or a 29-yard pass to tight end Troy Fumagalli that was initially ruled a touchdown but ultimately led to a short score.
49 yards: Drew Lock to KJ Hamler, TD
With Phillip Lindsay and Nick Vannett picking up the pass rush to Drew Lock’s front side, giving him time to throw, Lock found a streaking KJ Hamler on a post pattern for a 49-yard touchdown. The touchdown, on a first-down play, came just three plays after Carolina had scored to pull within five points with 5:03 remaining. The approach was a departure for the often-conservative Broncos, who might have otherwise turned to the running game to eat clock in the final four minutes. Instead, Hamler’s score put Denver in front 32-20 with 3:54 remaining. If anything, it scored too quickly as Carolina again answered and ultimately forced the defense to come up with the game’s final stop.
37 yards: Lock to Hamler, TD
Sign Up For Free: AM Update Newsletter
let pathVariable;
let pathVariable2;
function handleUrlPathSegment() {
const fullPath = window.location.pathname.toLowerCase();
if (fullPath.includes(‘/business/’)) {
pathVariable = ‘business’;
pathVariable2 = ‘Business Newsletter’;
} else if (fullPath.includes(‘/outdoors/’) || fullPath.includes(‘/outdoor/’)) {
pathVariable = ‘outdoors’;
pathVariable2 = ‘Outdoors Newsletter’;
} else if (fullPath.includes(‘/opinion/’)) {
pathVariable = ‘opinion’;
pathVariable2 = ‘Opinion Newsletter’;
} else if (fullPath.includes(‘politics’)) {
pathVariable = ‘politics’;
pathVariable2 = ‘Politics Newsletter’;
} else {
pathVariable = ‘am-update’;
pathVariable2 = ‘AM Update Newsletter’;
}
console.log(`Current path: ${fullPath}`);
console.log(`Path variable set to: ${pathVariable}`);
console.log(`Path variable 2 set to: ${pathVariable2}`);
applyNewsletterName(pathVariable2);
return { pathVariable, pathVariable2 };
}
function applyNewsletterName(newsletterName) {
if (document.readyState === ‘loading’) {
document.addEventListener(‘DOMContentLoaded’, function() {
updateNewsletterElement(newsletterName);
});
} else {
updateNewsletterElement(newsletterName);
}
}
function updateNewsletterElement(newsletterName) {
const newsletterElement = document.getElementById(‘newsletterName’);
if (newsletterElement) {
newsletterElement.textContent = newsletterName;
console.log(`Updated #newsletterName element with: ${newsletterName}`);
} else {
console.warn(‘Element with ID #newsletterName not found in the DOM’);
}
}
function setupFormSubmitListener() {
function getFormattedDate() {
const now = new Date();
const timestamp = now.getTime();
console.log(‘chris: Using Unix timestamp’);
console.log(‘chris: Current time:’, now);
console.log(‘chris: Unix timestamp (ms):’, timestamp);
return timestamp;
}
const formattedDate = getFormattedDate();
var profile = window.blueConicClient.profile.getProfile();
profile.setValues(‘newsletter_category’, pathVariable);
profile.setValue(‘newsletter_signup_date’, formattedDate);
window.blueConicClient.profile.updateProfile(this, function() {
});
}
handleUrlPathSegment();
Success! Thank you for subscribing to our newsletter.
function subscribeSuccess() {
var nsltrform = document.querySelector(“#nsltr”);
var nsltrSuccess = document.querySelector(“#successnsltr”);
nsltrform.classList.add(“hideblock”);
nsltrSuccess.classList.remove(“hideblock”);
}
function validateEmail(email) {
return String(email)
.toLowerCase()
.match(
/^(([^()[]\.,;:s@”]+(.[^()[]\.,;:s@”]+)*)|(“.+”))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$/
);
}
function validateEmailAddress() {
const result = document.querySelector(“#result”);
const email = document.querySelector(“#email”).value;
result.innerText = “”;
if(validateEmail(email)) {
newsletterSubscribe(email);
} else {
result.innerText = ‘The email entered: ‘ + email + ‘ is not valid :(‘;
result.style.color = “red”;
}
return false;
}
function newsletterSubscribe(email) {
fetch(“https://services.gazette.com/mg2-newsletters.php?action=subscribe&site=denvergazette.com&emailPreferenceId=59&email=” + email, {
method: “POST”
}).then(res => {
console.log(“SUCCESSFUL POST”);
subscribeSuccess();
});
}
#nsltr {
min-width: 100%;
margin: 10px 0;
padding: 10px 20px;
background-color: #2076b3;
background-image: url(https://static.gazette.com/emails/circ/Audience%20Images/pp5%20signup%203.png);
background-size: cover;
}
#nsltr-header {
color: #fff4f4;
}
#nsltr-body {
text-align: center;
color: #ffffff;
}
#nsltr-button {
margin-top: 5px;
}
#successnsltr {
min-width: 100%;
margin: 10px 0;
padding: 10px 20px;
background-color: green;
text-align: center;
color: white;
}
#successnsltr a {
color: white;
}
.hideblock {
display:none;
}
h6 a {
color: black;
text-decoration: none;
padding: 5px;
background-color: #bbccdd;
font-weight: 600;
}
@media only screen and (min-width: 768px) {
#nsltr {
background-image: url(https://static.gazette.com/emails/circ/Audience%20Images/pp5%20signup%203.png);
background-size: cover;
}
}
The Broncos came out of halftime firing. Their first two plays were a pass for 11 yards and a Melvin Gordon run for 15. After Phillip Lindsay was stuffed for no gain up the middle, Lock hit Hamler for a wide-open touchdown down the right sideline. Hamler put a move on Carolina cornerback James Bradberry IV at the line that took Bradberry off balance and allowed him to break into the clear for the score that pushed Denver’s lead to 19-7.
32 yards: Lock to Tim Patrick
Again in the third quarter, the Broncos looked deep and hit Tim Patrick for a 32-yard gain. Patrick scored two plays later on a 2-yard pass after Troy Fumagalli nearly scored from 31 yards on a short dump to the left. Patrick has scored three touchdowns in the past two weeks and six times this season after entering the year with one score in 24 career games.
31 yards: Lock to Jerry Jeudy
A roughing-the-passer penalty on the previous play set up Denver with a first down at the Carolina 47-yard line with 3:28 remaining in the first half when Lock took a deep shot down the left sideline to rookie receiver Jerry Jeudy. Ironically, it was one of just two catches for Jeudy (the other going for 11 yards) on this explosive day. He had been the team’s most effective big-play threat this season, leading with 15.6 yards per reception. The 31-yard catch helped set up a 2-yard touchdown pass from Lock to Nick Vannett with 1:33 remaining in the half.