Rock Creek Fly Fishing, Missoula Fly Fishing, Montana Fishing Guides

Rock Creek
Fly Fishing

Flowing mainly through the Lolo National Forest about 30 minutes from Missoula, Rock Creek is simply a perfect trout stream. Boasting the areas highest trout concentrations, together with abundant insect life and gorgeous scenery create a blue-ribbon stream that anglers fall in love with. Soaring eagles, moose, and big horn sheep are all common wildlife sightings on Rock Creek. The Grand Slam of trout, a cutthroat, rainbow, brown, bull, and brookie, all in one day is a real possibility here. This stream is most famous for its unbelievable Salmonfly hatch that occurs in June. The sky is literally clouded by thousands of these giant stoneflies on their daily upstream migration. As the water begins to drop, Rock Creek becomes the premiere wade fishing stream in the area. Public access is plentiful on Rock Creek and fish willingly rise to attractor patterns as well as natural imitations throughout the season.

  • Skwala stoneflies (#8-10)
  • Grey Drakes (#12-14)
  • March Browns (#14)
  • Blue-wing Olives (#18)

Skwalas, Drakes, and Blue-wings all come off in decent numbers on Rock Creek, but it is the March Brown hatches beginning in late March and running through April that gets the trout and anglers alike excited. Mostly a nymph fishery early in the year, the afternoon hatches of March Browns have trout looking up throughout the river and ready to pounce on any parachute or cripple pattern that drifts by.

  • Skwala stoneflies (#8-10)
  • Caddis (#12-16)

It is always unpredictable in May due to run-off, but when conditions allow there will be good hatches of Skwalas and big-time caddis emergences that produce incredible fishing. This is a great time of year to catch larger fish as big trout from the Clark Fork are in the system to spawn.

  • Salmonflies (#4-6)
  • Golden stoneflies (#8-10)
  • Green Drakes (#8-10)

The most prolific Salmonfly hatch in the area. The sky is literally clouded by flying Salmonflies in the afternoon during the peak of the hatch. The opportunity to hook a ridiculously large amount of fish is a reality on Rock Creek during June. Not to be outdone, Golden stones and Green Drakes join the party by mid-month and many of the larger fish are taken on these patterns since most anglers are still casting big orange flies and big fish seem to know this.

  • Golden stoneflies (#8-10)
  • Green Drakes (#8-10)
  • Pale-morning Duns (#14-16)
  • Yellow Sallies (#12-16)
  • Caddis (#14-16)

By July the Creek is a wade fishing stream again and there is no shortage of bugs to keep the fish looking up. On most days a yellow Stimulator and parachute PMD is all you will need, but early in the month trout will still be looking for the bigger Golden stones and Drakes. The evening caddis blitzes are a sight to see with more risers than you can throw a fly at.

  • Grasshoppers (#6-10)
  • Tricos (#18-22)
  • Pale-morning Duns (#14-16)
  • Spruce Moths (#12-14)

Rock Creek is another great Hopper/attractor river and all kinds of large patterns will move trout to the surface. PMDs will linger early in the month until Trico hatches take over, and the mayfly activity is fairly spot specific on the Creek. However, the Spruce moth hatch in unrivaled and it will occur river-wide. Lasting a little longer here than on the Blackfoot, there will be a 2-3 week period where anglers may not need another pattern in their box. The Spruce moth hatch on Rock Creek is that good.

  • Grasshoppers (#6-10)
  • October Caddis (#8-10)
  • Mahogany Duns (#12-16)
  • Blue-wing Olives (#16-18)

Hopper fishing will remain good until the first hard frosts of mid-October, and good hatches of October caddis offer a big bug alternative and the chance to witness some truly violent strikes. By the second week of September reliable hatches of Mahognies and Blue-wings will have fish looking up each afternoon as well.

Fish Our Favorites

Rock Creek Flies

[products columns=”4″ orderby=”title” order=”” ids=”74369, 74780, 74380, 90653, 90838, 74447, 80783, 90565″]

Get In Touch

  • This field is for validation purposes and should be left unchanged.

Top
[gravityform id="7" title="false"]
<div class='gf_browser_unknown gform_wrapper gravity-theme white-labels_wrapper' id='gform_wrapper_7' > <div class='gform_heading'> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_7' class='white-labels' action='/missoula-fly-fishing-rivers/rock-creek-fly-fishing/' > <div class='gform_body gform-body'><div id='gform_fields_7' class='gform_fields top_label form_sublabel_below description_below'><fieldset id="field_7_1" class="gfield gfield_contains_required field_sublabel_hidden_label field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_7_1"><legend class='gfield_label gfield_label_before_complex' >Name<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></legend><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name' id='input_7_1'> <span id='input_7_1_3_container' class='name_first' > <input type='text' name='input_1.3' id='input_7_1_3' value='' aria-required='true' placeholder='First Name' /> <label for='input_7_1_3' class='hidden_sub_label screen-reader-text'>First</label> </span> <span id='input_7_1_6_container' class='name_last' > <input type='text' name='input_1.6' id='input_7_1_6' value='' aria-required='true' placeholder='Last Name' /> <label for='input_7_1_6' class='hidden_sub_label screen-reader-text'>Last</label> </span> </div></fieldset><div id="field_7_3" class="gfield gfield--width-half gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_7_3"><label class='gfield_label' for='input_7_3' >Email<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_3' id='input_7_3' type='text' value='' class='large' placeholder='Email Address' aria-required="true" aria-invalid="false" /> </div></div><div id="field_7_5" class="gfield gfield--width-half gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_7_5"><label class='gfield_label' for='input_7_5' >Phone<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_phone'><input name='input_5' id='input_7_5' type='text' value='' class='large' placeholder='Phone Number' aria-required="true" aria-invalid="false" /></div></div><div id="field_7_4" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_7_4"><label class='gfield_label' for='input_7_4' >Message<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_textarea'><textarea name='input_4' id='input_7_4' class='textarea medium' placeholder='Please tell us about what you&#039;re interested in!' aria-required="true" aria-invalid="false" rows='10' cols='50'></textarea></div></div></div></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_7' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_7"]){return false;} window["gf_submitting_7"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_7"]){return false;} window["gf_submitting_7"]=true; jQuery("#gform_7").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_7' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='7' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_7' value='WyJbXSIsIjg3ZWFlYzMwYzIzOTIyODdiYjFkMjkxYzE4MmE1MTg2Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_7' id='gform_target_page_number_7' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_7' id='gform_source_page_number_7' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_2" name="ak_js" value="163"/><script>document.getElementById( "ak_js_2" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>
[gravityform id="6" title="false"]
<div class='gf_browser_unknown gform_wrapper gravity-theme white-labels_wrapper' id='gform_wrapper_6' > <div class='gform_heading'> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_6' class='white-labels' action='/missoula-fly-fishing-rivers/rock-creek-fly-fishing/' > <div class='gform_body gform-body'><div id='gform_fields_6' class='gform_fields top_label form_sublabel_below description_below'><fieldset id="field_6_5" class="gfield gfield_contains_required field_sublabel_hidden_label field_description_above hidden_label gfield_visibility_visible" data-js-reload="field_6_5"><legend class='gfield_label gfield_label_before_complex' >Name<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></legend><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name' id='input_6_5'> <span id='input_6_5_3_container' class='name_first' > <input type='text' name='input_5.3' id='input_6_5_3' value='' aria-required='true' placeholder='First Name' /> <label for='input_6_5_3' class='hidden_sub_label screen-reader-text'>First</label> </span> <span id='input_6_5_6_container' class='name_last' > <input type='text' name='input_5.6' id='input_6_5_6' value='' aria-required='true' placeholder='Last Name' /> <label for='input_6_5_6' class='hidden_sub_label screen-reader-text'>Last</label> </span> </div></fieldset><div id="field_6_7" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_6_7"><label class='gfield_label' for='input_6_7' >Email<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_7' id='input_6_7' type='text' value='' class='medium' placeholder='Email' aria-required="true" aria-invalid="false" /> </div></div></div></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_6' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_6"]){return false;} window["gf_submitting_6"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_6"]){return false;} window["gf_submitting_6"]=true; jQuery("#gform_6").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_6' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='6' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_6' value='WyJbXSIsIjg3ZWFlYzMwYzIzOTIyODdiYjFkMjkxYzE4MmE1MTg2Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_6' id='gform_target_page_number_6' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_6' id='gform_source_page_number_6' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_3" name="ak_js" value="69"/><script>document.getElementById( "ak_js_3" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>