Efter den svensk-ryska segern i slaget vid Torzjok marscherade den svensk-ryska huvudarmén mot staden Torzjok och nådde densamma den 27 juni. Den polsk-litauiska hären samlades i en ställning vid Tver för att där förhindra fienden att korsa floden Volga.
När de allierade trupperna framkom var stod den polsk-litauiska hären redan i slagordning. Slaget inleddes då rytteriet på högra flygeln, under befäl av Jakob De la Gardie, anföll den polsk-litauiska vänstra flygeln. Vid samma tid anföll de polsk-litauiska trupperna den svensk-ryska vänsterflygeln under skydd av regn, vilket resulterade i att musköterna blev oanvändbara. Det där ställda franska rytteriet drevs tillbaka och de ryska samt tyska styrkorna flydde även de. Dock kunde musköterna snart göras användbara igen och de polsk-litauiska trupperna drevs då tillbaka igen. Slaget tvingades snart sluta som ett resultat av regnet vilket även fortgick nästkommande dag.