On Wednesday, Russia handed a list of security demands to US assistant secretary of state Karen Donfried, who then came to NATO headquarters in Brussels on Thursday to discuss them with Stoltenberg.
But the NATO chief on Thursday also met Ukraine's President Volodymyr Zelensky, and gave a joint news conference to insist that any decision on membership was a matter for Kiev and the alliance's 30 member states.
"We will not compromise on the right of Ukraine to choose its own path. We will not compromise on the right for NATO to protect and defend all NATO allies," Stoltenberg said.
He said there would also be no compromising on NATO's partnership with Ukraine, describing it as important for both sides.
"Democracies of course have the right to work closely with a close partner such as Ukraine and our relation with Ukraine is defensive," he said.
"It's not in any way a threat to Russia."
"Since 2014, since the start of the war, I believe that basically Russia pushed Ukraine into NATO," he said.
"Basically I believe that today Russia itself is paving the difficult path of Ukraine to NATO."
On Wednesday, Russia's Deputy Foreign Minister Sergei Ryabkov told Donfried that NATO should halt its eastward expansion and withdraw a promise that Ukraine could become a candidate for membership.
Russia's President Vladimir Putin wants to talk directly to the United States over his standoff with Kiev, seeking security guarantees as an implicit condition to defusing the tension.
But NATO leaders point to what they say is Russia's massive troop mobilisation close to the Ukraine border. The US and EU have threatened "massive" economic sanctions in the event of an invasion.