但他们被困在匈奴期间,西域的形势已发生了变化。月氏的敌国乌孙,在匈奴支持和唆使下,西攻月氏。迫使月氏人继续西迁,进入妫水地区征服大夏,在新的土地上另建家园。
张骞了解这一情况后,在经过车师国后没有向西北进发,而是折向西南,进入焉耆,再溯塔里木河西行,过库车、疏勒等地,翻越葱岭,直达大宛。
张骞到大宛后,向大宛国王说明了自己出使月氏的使命和沿途种种遭遇,希望大宛能派人相送,并表示今后如能返回汉朝,一定奏明武帝,赠送财物以示酬谢。大宛王早就风闻东方汉朝的富庶,很想与汉朝通使往来,但苦于匈奴所阻。
汉使的意外到来,使他非常高兴,张骞的一席话,更使他动心。于是便满口答应了张骞的要求,热情款待后,派了向导和译员,将张骞等人送到康居。张骞等人通过康居,到了大夏。在大夏国的帮助下,终于来到了大月氏。
但令人没想到的是,张骞等人被困匈奴的十年时间内,受到乌孙攻击的大月氏,如今迁到了阿姆河畔。自从来到了阿姆河,用武力臣服大夏后,新的国土十分肥沃,物产丰富,并且距匈奴和乌孙都很远,外敌寇扰的危险已大大减少,大月氏王改变了态度,无意东还与匈奴为敌。
当张骞向他们提出建议时,他们已无意向匈奴复仇了。再加上他们认为汉朝离大月氏太远,如果联合攻击匈奴,遇到危险恐难以相助。因此,张骞等人在月氏逗留了一年多,但始终未能说服月氏人与汉朝联盟,夹击匈奴。
张骞在大月氏逗留了一年多,得不到结果,只好在元朔元年动身返国。归途中,张骞为避开匈奴控制区,改变了行军路线。计划通过羌人地区,以免匈奴人的阻留。于是重越葱岭后,他们没有走来时的北道,而改行南道,从莎车,经于阗、鄯善,进入羌人地区。但出乎意料,羌人已沦为匈奴的附庸,张骞等人再次被匈奴骑兵所俘,又扣留了一年多。