Nemtsov was a fierce adversary of President Vladimir Putin. His murder in 2015 is the highest-profile political killing since Putin came to power.
The authorities deny any involvement.
Bellingcat, The Insider and the BBC found evidence that Nemtsov was shadowed on 13 trips before his murder.
Boris Nemtsov rose to prominence in the 1990s, served as deputy prime minister under President Boris Yeltsin, and was widely tipped to be Yeltsin's successor.
Instead, Mr Putin came to power and Mr Nemtsov was pushed to the margins of Russian politics. He became an effective campaigner, exposing corruption and denouncing Russia's 2014 attack on eastern Ukraine.
On 27 February 2015, Mr Nemtsov was shot dead just yards from the Kremlin, and just days before he was due to lead a protest against the war.
Five men of Chechen origin were quickly arrested and later jailed for his murder. But the official investigation left the most urgent questions unanswered: who ordered the killing and why?
Seven years later, the BBC - working with the investigative websites Bellingcat and The Insider - can reveal evidence that in the months running up to the killing, Nemtsov was being followed across Russia by a government agent linked to a secret assassination squad.
Using leaked train and flight reservation data, the investigation shows that Mr Nemtsov was followed on at least 13 journeys.
The last time the agent followed Mr Nemtsov was on 17 February 2015, just 10 days before the assassination.
According to his documents, the agent's name is Valery Sukharev. All the evidence suggests that at the time, he served with the FSB, Russia's main security agency. One of the mandates of the FSB is to manage internal political threats on behalf of the Kremlin, including monitoring movements of people across the country.
All flight and train reservations are recorded in an FSB database called Magistral. But the database not only captures the movements of people Russian agents might want to track, it can also be used to reveal the movements of the agents themselves - people like Mr Sukharev.
This kind of information is often leaked on to the black market and ends up in the hands of journalists.
"In a corrupt society like Russia, [Magistral] is a double-edged sword," says Christo Grozev, executive director of Bellingcat.
"And it allows people like us to actually go and tail these same spies, these same FSB officers."
Some of the original data for this investigation was bought by Bellingcat through brokers inside Russia. Those brokers acquired the data from corrupt officials who have access to Magistral. The BBC also used data that was given to us, without payment, from sources who have access to copies of Magistral.
Bellingcat has previously used data from Magistral to investigate assassination attempts in Russia. Their investigations revealed evidence of the existence of a secret hit squad within the FSB, which has targeted opponents of the Kremlin. The Russian government has always denied these allegations.
For this investigation, we got hold of the train and flight reservations made by Mr Sukharev - and when we compared them to the known movements of Boris Nemtsov, an unmistakable pattern emerged.
Most of Mr Nemtsov's trips took him from Moscow, where he lived, to Yaroslavl - 272km (169 miles) north-east of the capital - where he sat in the regional parliament.
It appears that Mr Sukharev knew Mr Nemtsov's plans in advance, because he often arrived in the same city just minutes or hours ahead of Mr Nemtsov.
One trip in particular reveals just how closely Mr Nemtsov was being tracked. In the summer of 2014 he travelled to Siberia. Mr Nemtsov booked his flight online on 2 July just after midnight. Exactly 10 minutes later, Mr Sukharev bought a ticket to the same destination, Novosibirsk, arriving on the same day as Mr Nemtsov.
An FSB agent could use Magistral to track a target with this degree of precision, according to Mr Grozev.
"If you're an FSB officer, you would just be able to log into that database and see, for a particular person, all of the tickets that they're purchasing, have purchased, or are buying at this very moment," he told the BBC.
It is not unusual in Russia for security agencies to keep tabs on prominent opposition leaders.
But Mr Sukharev was not just a low-ranking FSB recruit on routine business. Bellingcat, in a previous investigation, linked him to two apparent assassination attempts, both aimed at prominent critics of Mr Putin.
The first target was Mr Nemtsov's friend and protege Vladimir Kara-Murza, an opposition politician who, in the weeks after the shooting, was already pointing the finger of blame at the Kremlin.
In May 2015, Sukharev was part of a team that went to the Russian city of Kazan at the same time as Mr Kara-Murza. Two days after Mr Kara-Murza returned to Moscow he collapsed unable to breathe. He fell into a coma and suffered multiple organ failure but recovered.
He was poisoned for a second time in 2017, and once again survived. The Russian government rejects the allegation that their operatives were involved in the poisonings.
The second target was Alexei Navalny, the now-jailed opposition leader whose anti-corruption videos have reached millions of Russians.
In 2020, Mr Navalny was poisoned using Novichok, a nerve agent developed in the Soviet Union and banned under international law. Bellingcat established that an FSB team tracked Mr Navalny to the eastern city of Tomsk immediately before the poisoning.
It found that Mr Sukharev was not part of the ground team that physically followed Mr Navalny. But phone logs reveal that, in the months immediately before the poisoning, Mr Sukharev exchanged 145 phone calls or texts with at least four members of that team, as well as with an FSB officer further up the chain of command.
Four of these men were among the seven FSB agents later sanctioned by the US and UK governments for their involvement in the attempted assassination.
The Russian government has always denied any involvement in the poisoning of Mr Navalny.
The BBC asked the Russian government and the FSB to comment on the evidence that Mr Nemtsov was being shadowed by an agent linked to an assassination squad.
The Kremlin's spokesman, Dmitry Peskov, said: "All of this has nothing to do with the Russian government. It looks like another fabrication." The FSB did not respond.