Commerce City — The Rapids return home to face the Portland Timbers this Saturday at DICK’s Sporting Goods Park. It is fittingly Women’s Empowerment Night with several activations connected to NWSL Denver. The Rapids look to make more club history with a fifth straight game unbeaten to start an MLS season. The last time Portland came to Colorado in March, a snow clasico was born in a crazy 3-3 draw. This time, no snow is forecasted, so let’s take a look at this matchup.
When: Saturday, March 22 @ 7:30 p.m. MST
Where: DICK’s Sporting Goods Park
TV/Streaming: MLS Season Pass on Apple TV
Perfect in two-game away stretch:
The Rapids went to Austin and then San Jose and took all six available points from those two games. They now have two wins in three away matches in 2025, whereas they had five wins in 17 away matches in 2024. These two wins also helped the Rapids start the 2025 MLS season unbeaten through four games, the first time they have done that in club history.
For the first time in club history, THE RAPIDS are undefeated through their first four MLS games 📈#Rapids96
So, how did the Rapids make it happen in San Jose? Zack Steffen. A career-best 12 saves from Steffen guided the Rapids to a 2-1 win. He faced 2.37 xGOT (Expected Goals on Target) and prevented 1.37 goals. Statistically, the Rapids were second-best on the night, with San Jose having more possession, more shots, more shots on target, and better xG.
From last night: In the club’s 2-1 victory on Saturday night, Colorado Rapids goalkeeper Zack Steffen recorded a career-best 12 saves, the second-most in a single game in club annals, while helping the Rapids to an unbeaten four-game start to the season for the first time in team history.
But the only stat that Chris Armas will care about is the 2-1 scoreline that saw the Rapids left victorious from the Bay Area. The Rapids had a similar plan against San Jose as they did against Austin. They wanted to push the envelope, press the opponent, and not sit back and soak up the pressure. It was not Chris Armas’s patented Red Bull high press that we have seen from Armas in the past, but it is not the 4-4-2 low block that we have seen from this team when away from home.
Though, for the first 35 minutes of the game, the Rapids were stuck in their own half, just trying to keep their head above water against a rampant Earthquake attack. The Rapids survived and turned defense into attack for the first goal of the game, and Cole Bassett’s first of the year. The game became more of an even affair after the opener, with Chicho Arango scoring off of a corner right before half-time. Super subs Omir Fernandez and Calvin Harris combined for the winner, and Steffen continued his great game with key saves down the stretch.
The Rapids didn’t dominate either game against Austin or San Jose, but they did what they needed to do to get a result on the road in MLS. They limited the big chances that San Jose had and were clinical in the chances that they had. The Rapids did better against Austin, as they didn’t need a 12 save game from Steffen in Texas, but they are winning games away from home, and winning away will provide great success in MLS.
The injury report is looking a little better for the Rapids this week. Atencio and Ronan should help with Midfield depth. Portland won’t have multiple players due to international duty, neither team will have their starting keeper.
The Rapids got healthier over this week, with Mihailović, Atencio, and Ronan not being a part of the report. This will give Armas more choice in the midfield, and I think he will go back to Atencio, giving Larraz and Bassett more freedom to attack and push the game. Elsewhere, the Rapids continue to not have much depth on the backline and will continue with this setup. The 4-3-3 looks to be the preferred formation for Armas, and this will continue against Portland.
The biggest miss for the Rapids on Saturday will come in goal, as Zack Steffen will be on international duty with the USMNT. This leaves a Steffen-sized hole in the Rapids net, one that youngster Adam Beaudry will have to try to fill. The homegrown will have to make his first start and appearance of 2025 and first since his MLS debut during the 2024 Decision Day loss to Austin.
Beaudry seems to be the future number one in the net for the Rapids and has already become a standout youth national team goalkeeper, with numerous call-ups to the youth level of the US, including leading the U-20 USMNT to the CONCACAF Championship final in 2024. The 18-year-old will look to make better of his MLS debut against Portland.
What to Make of the Wide Players:
Some interesting storylines from the start of the season have been the personnel along the width, the wingers, and the full-backs. Injuries have played their part along the width for the Rapids, but there are some healthy names that are getting left on the bench that had significant minutes in 2024.
While Cannon is healthy now, where does Vines fall into all this? He has been out since preseason with a muscle injury that we were told had a similar timetable as Bassett’s last year. His exclusion in Mexico was precautionary, but he has been out for a month and change for the Burgundy Boys. It will be interesting to see what Armas does with Vines once he is back.
On the wingers’ front, all but KDP have been healthy all year, and yet Armas has looked towards winger replacements in all but one game. Since LAFC at home in the CCC, Bassett and then Mihailović have occupied the winger slot opposite of Cabral. In MLS play, Omir has a total of 73 minutes in four substitute appearances, and Calvin Harris has 43 minutes in two sub appearances. Both Omir and Harris were key contributors for the Rapids in 2024 but seem to have a reserved role in 2025.
The most worrying sign for the pair was Chris Armas opting to start youngster Wayne Frederick II at San Jose, keeping the Rapids in a 4-3-3, with Mihailović starting wide. With Josh Atencio and Connor Ronan out in that game, it seemed likely that Armas would go back to a 4-2-3-1 and put one of Omir or Harris in, but whether Armas wanted to keep the 4-3-3 or didn’t want to look the winger’s way, they did not start. But it is not all bad for the duo, as they came on in the 65th minute and combined for the winner, so maybe this is a sign of more to come from them. For now, it is hard to see them made the starting eleven.
A Frustrated Portland Team:
Portland may feel hard done by after their 1-1 draw at home against LA Galaxy. There was a controversial no-call on a potential penalty in second-half stoppage time that would have given Portland a chance to win the game late. I’ve yet to see someone comment on the call who hasn’t said that they believed it was a penalty. It seems pretty egregious when MLS’s in house show Instant Replay was baffled by the call.
The no-call only made a frustrating game more frustrating for Phil Neville, as Portland continued to create little in front of goal, and gave away an unnecessary goal to Cristian Ramirez off of a long ball hat caught the Portland backline sleeping. In a game with a combined 1.5 xG from both teams, it was a bad goal to give up. And xG, and goals for that matter, are stats not too kind to the Timbers this season.
Portland has yet to have a game where they get over the 1.0 xG mark and have only scored three times this year, with two of those coming from set pieces. They have four points from four matches, and three of those four games have been at home. In open play, Portland has struggled to create chances to start the year. It is still early days for Neville & Co, who might need to adjust to life without Evander after they swapped him out in a deal with Cincy for David Da Costa.
The Rapids will have a chance to build on their defensive performances from the away trips against a team that has struggled to find anything offensively. But a desperate team is a dangerous team, and after the start of the season, Portland is coming to Colorado desperate to make things right.
Prediction: The Rapids continue to roll and take advantage of a deflated Portland side. Rapids win 2-0.
Colorado Rapids are hosting Women’s Empowerment Night tomorrow. It being a game against Portland Timbers is excellent. It coming the week Denver NWSL announces their new stadium and will have a presence at the game, chef’s kiss.
Thank you for reading Burgundy Wave. Support us via our Patreon starting at $5/month. We’re always looking for new talent. Let us know if you’re interested in covering Colorado Soccer.
{"id":"65","mode":"form","open_style":"in_place","currency_code":"USD","currency_symbol":"$","currency_type":"decimal","blank_flag_url":"https:\/\/burgundywave.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/burgundywave.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":5,"top_media_type":"none","featured_image_url":false,"featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Leave a tip","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"Burgundy Wave","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"Burgundy Wave","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for supporting independent coverage of soccer in Colorado.","payment_confirmation_title":"Burgundy Wave","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to tip?","initial":{"instruction_type":"normal","instruction_message":"How much would you like to tip? Choose any currency."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to tip? Choose any currency."},"invalid_curency":{"instruction_type":"error","instruction_message":"Please choose a valid currency."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to give this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to give this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to give this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}
{"id":"299","mode":"form","open_style":"in_place","currency_code":"USD","currency_symbol":"$","currency_type":"decimal","blank_flag_url":"https:\/\/burgundywave.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/burgundywave.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":5,"top_media_type":"none","featured_image_url":false,"featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Leave a tip","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"Burgundy Wave","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"Burgundy Wave","form_subtitle":"Colorado Soccer content.","currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for supporting independent coverage of soccer in Colorado.","payment_confirmation_title":"Burgundy Wave","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to tip?","initial":{"instruction_type":"normal","instruction_message":"How much would you like to tip? Choose any currency."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to tip? Choose any currency."},"invalid_curency":{"instruction_type":"error","instruction_message":"Please choose a valid currency."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to give this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to give this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to give this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}