Is the movie Dragon Blade based on real events? Were the Romans ever in China?
There was certainly a connection at this time between Rome and China, through the Silk Road but there is no conclusive evidence of any similar battle... Romans were certainly traveling to China to sell their wares... but those are merchants with a few guards to protect them on their way, not an army.
According to this Variety article by Maane Khatchatourian, the battle the film is centered around is purely fictional:
Set in 206-220 A.D., the movie focuses on a key (fictional) battle between Rome and China’s Han Dynasty. It follows Chinese officer Chan, who’s framed and later enslaved, and Roman soldier John Cusack, who escapes to China after rescuing the Prince. The two cross paths in the Western Desert.
The Wikipedia article on Sino-Roman Relations states there may have been a "hypothetical military contact" between the two groups but there is no proof of it:
After losing at the battle of Carrhae in 54 BCE, an estimated 10,000 Roman prisoners were displaced by the Parthians to Margiana to man the frontier. Some time later the nomadic Xiongnu chief Zhizhi established a state further east in the Talas valley, near modern day Taraz. Taking up these two strands, Dubs points to a Chinese account by Ban Gu of about "a hundred men" under the command of Zhizhi who fought in a so-called "fish-scale formation" to defend Zhizhi's wooden-palisade fortress against Han forces, in the Battle of Zhizhi in 36 BCE. He claimed that this might have been the Roman testudo formation and that these men, who were captured by the Chinese, founded the village of Liqian (Li-chien, possibly from "legio") in Yongchang County.
However, Dubs' synthesis of Roman and Chinese sources has not found acceptance among modern historians on the grounds of being highly speculative and reaching to too many conclusions. Although DNA testing in 2005 confirmed a predominantly "Caucasian origin" of a few inhabitants of Liqian, this influx of Western genes could be explained just as well by transethnic marriages with other peoples along the silk road. A much more comprehensive DNA analysis of more than two hundred male residents of the village in 2007 showed a close genetic relation to the Han Chinese populace and a great deviation from the Western Eurasian gene pool. The researchers conclude that the people of Liqian are probably of Han Chinese origin. Moreover, the area lacks clear archaeological evidence of a Roman presence.
Though, as you'll notice, even this hypothetical event occurred much earlier, in 36 BCE, which is 242 years before the beginning of the range of time the film was set (206 CE/AD).
The movie is BASED ON the true story of Romans in China. That means it did not happened exactly the same way as in the film. The basic is the same: Romans in China. Another similarity was the Roman city founded in China. In the film its failed Regum,but in reality it is called Liquian. And Romans did battle Chinese. Those Romans were survivors of Carrhae. However,Chinese did not know Testudo fkrmation and in 36 BC,chinese saw testudo formation of the enemy army. It is clear that these soldiers were Romans.
It is true. However, the movie is set in 48 BC not 206 AD, because Cusack mentions that he served under Marcus Licinius Crassus(115-53 BC) and his two sons. Crassus and Publius died at Carrhae and Crassus Jr.died in 49 BC. Movie is set one year later. This battle between Romans and Huns in this movie is a reference to a later military action between Romans and Huns under Attila in 5th century AD.
The legion led by John Cusack's character are recruited Gauls, Germans and Greeks. This also supports the theory about Celts in China. They could have been Celtic mercenaries in Roman army who survived the Carrhae massacre, because they are mentioned in Crassus army at Carrhae.